将程序编译为静态库有什么一般区别 与包含源代码到程序中?
即即可。一个程序,其函数被编译为静态库(.lib)并链接到程序与A程序,其中的函数包含在主程序中作为源文件。
静态库更适合在发布闭源程序时发布? 编译速度更快?等。
答案 0 :(得分:3)
我主张包含源代码,因为:
答案 1 :(得分:1)
作为已编译的可执行文件,它们之间基本没有区别。我认为关键是你的软件工程目的。
如果您是组件开发人员,静态链接库可以保密您宝贵的源代码。如果您将源代码作为业务,则可能非常重要。
同时,如果您希望人们在任何平台上使用您的源代码,您可能希望将您的模块作为源代码发布,就像开源开发人员所做的那样。
答案 2 :(得分:-1)
使用库时编译速度会更快,因为您不需要编译代码,只需链接它。但最重要的收获转向软件架构:使库为您提供编写代码的方法,以便在将来的应用程序中重用。来自Wikipedia:
库的值是行为的重用。当程序调用库时,它会获得在该库中实现的行为,而不必实现该行为本身。库鼓励以模块化方式共享代码,并简化代码的分发。
答案 3 :(得分:-1)
通常最好隔离一部分软件并将其转换为.lib
或.dll
文件(或适合您的操作系统和可执行文件格式){No Repetition}。
此外,将源代码直接包含在源文件中会使应用程序变得笨重,只更新一小部分代码需要重建可执行文件,如果您希望用户下载和使用该应用程序,您的用户将会不满意再次下载整个应用程序文件。
第三,正如user3647458所说,如果你是在赚钱销售组件代码,那么.lib
文件就是你希望你的库(可能是免费的)。