好的,解释我的问题的最好方法是通过2个例子:
例1:
您已经为自己创建了一个名为MyLibrary的框架或引擎,并且您已构建为具有最大优化选项的.lib.现在您包含标头并将.lib链接到名为MyImplementation的新项目中.项目使用大部分MyLibrary的功能,当您完成后,您构建项目(再次进行最大程度的优化).
例2:
您再次拥有相同的库,但不是构建它,而是将其保持开源状态.然后,您创建相同的MyProject,包含标题,并在启用最大优化的情况下构建MyProject.
因此,示例2运行得更快,因为编译器可以访问整个源代码(框架/引擎,您使用它的项目)?
最佳答案 预编译静态库,这意味着任何进一步的优化都依赖于链接器.目前,链接器可以获得很大的性能提升,但通常最好的结果来自配置文件引导优化,它需要特殊的编译器设置来引导配置文件.开源项目总是比较好(除非你保护知识产权),因为开发人员可以为他们的平台和编译器编译项目,更不用说没有源代码就几乎不可能进行调试.