我正在使用C语言的MCU,我有一个已经建立的库,我想用它来构建我自己的应用程序。区别在于:
这是一个非常基本和一般性的问题,但我想澄清一下......
答案 0 :(得分:3)
编辑:答案是假设您从软件工程的角度提出要求。
将库文件与应用程序代码分开是一种最佳实践方法。除了库文件和应用程序的静态和动态链接之外,库文件还应包含逻辑/语义相关的代码。这种结构将您的代码“组件化”为可重用的软件,可以将其输入到其他库和应用程序中。这种做法促进了松散耦合,是软件设计和实现的首选方法。
使用单一项目方法,您仍将拥有在需要时编译的相同目标文件(如在单独的库方法中)。只有那些被更改的文件才会相应地重新生成它们的目标文件。但是,您仍然会得到一个全新的库/应用程序文件。
作为使用第一种方法(数字1)的一个示例好处,您可以将单独的“测试”库分层以对独立库进行单元测试,而无需重新包含或重新构建独立库。您在对测试库进行修改时运行独立库(例如,添加,修改,删除单元测试)。
希望这有帮助!
答案 1 :(得分:1)
库中的链接可以减少构建时间......特别是如果要编译大量源文件的话。如果你有一个好的构建系统,这可能不是什么大问题。这个方法还为您提供了一个很好的模块化组件,可以在其他项目甚至未来的构建中使用更高的置信度,因为您知道它没有改变。
使用库源始终构建可以使调试更容易,因为您可以单步执行并在库源中设置断点。即使您假设库代码没有问题,在调试应用程序的其余部分时,在库源中设置断点仍然会有所帮助。