上下文:C语言,8位微处理器
我们已经确定了可以在项目(产品)之间重用的组件。但我找不到处理可重用组件的最佳基础设施。
到目前为止我发现了两种可能性:
- 静态库
- 颠覆中的共享文件
共享库和共享源都允许您在项目之间共享公共代码。库提供了两种选择中的更好的选择,因此如果它们在您的平台上可用,您应该使用它们。这使您可以保护库的源代码免受意外修改,如果源代码控制中的代码在本地更改,则可能会发生这种情况。
通过库共享代码的唯一问题可能是嵌入式工具链中的某些工具(例如,附加到在线仿真器的调试器)缺乏对库代码源级调试的支持。在这种情况下,通过源代码重用代码是可以接受的。如果可能,您应该通过文件系统访问控制保护源不被修改。
如果您有可重用的组件,那么库是您的最佳选择。
图书馆的方法有几个很好的论据。
但是,每次构建依赖项目时,至少有一个很好的论据可以重新构建(可能来自同一个源存储库),那就是能够将目标项目或开发阶段唯一的编译设置应用于所有代码,包括共享部分。
在我的公司,我们同时使用了这两种方法:
Makefile
),我们首先编译库。这样您就可以两全其美:
这种方法的唯一缺点是开发人员不知道他们在做什么。如果他们修改库,他们应该知道更改将影响所有项目。但是您已经在使用版本控制系统,如果您使用分支并且团队内部的沟通良好,那么应该完全没有问题。