c++ - 保持大型 C++ 项目模块化的建议?

标签 c++ open-source shared-libraries libraries modularity

<分区>

我们的团队正在转向规模更大的项目,其中许多项目在其中使用了多个开源项目。

有什么建议或最佳实践可以使库和依赖项相对模块化并在新版本发布时易于升级?

换句话说,假设您制作的程序是开源项目的分支。随着这两个项目的发展,维护和共享核心更新的最简单方法是什么?

关于我要问的问题的建议......我不需要“你应该这样做”或“你为什么......谢谢。”

最佳答案

对于开源项目的克隆,您最头疼的问题之一是根据上游资源保持同步/修补。您可能不关心新功能,但您肯定需要应用关键错误修复。

我的建议是将此类内部项目小心地包装到共享库中,这样如果 ABI 没有被更改破坏,您可以或多或少地轻松升级这些部分。

还有一件事 - 如果您发现并修复了开源项目中的错误 - 不要将修复留给自己。将补丁推送到上游。这将使项目变得更好,并将节省您与新版本合并的时间。

关于c++ - 保持大型 C++ 项目模块化的建议?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2576122/

相关文章:

c++ - Qt 向导后退按钮 Ui 问题

c++ - 与我的 abs() 相比,C++ math.h abs() 有什么不同

c++ - 初始化指针 vector (自动)

c++ - 指向成员变量的指针

algorithm - Line(x1,y1,x2,y2) 只需要使用 PutPixel(x,y) 示例吗?

ios - Core Graphics 的图形效果库?

asp.net - ASP.NET 商业 Uber-Grids 的开源替代方案

qt - 覆盖 Qt 4.8.1 的 OpenGL 选择

Android APK 在正确的目录中没有 .so

c - 我应该在 scanf() 中同时包含 fflush(stdin) 和空格,还是只包含其中之一就足够了?