包含整个库(可能有数百个函数)然后只使用单个函数之间是否有任何运行时性能差异:
#include<foo>int main(int argc,char *argv[]) { bar();//from library foo return 0;}
在将相关代码片段从库直接粘贴到代码之间,例如:
voID bar() {...}int main(int argc,char *argv[]) { bar();//defined just above return 0;}
是什么阻止我在我的C文件开头无意识地包括我最喜欢的(也是最常用的)库?这个流行的线程C/C++: Detecting superfluous #includes?表明编译时间会增加.但编译后的二进制文件会有什么不同吗?第二个项目是否真的胜过第一个项目?
相关:what does #include <stdio.h> really do in a c program
编辑:这里的问题与相关的Will there be a performance hit on including unused header files in C/C++?问题不同,因为这里包含一个文件.我在这里问,如果包含单个文件与将实际使用的代码片段复制粘贴到源中有任何不同.我稍微调整了标题以反映这种差异.
解决方法 就最终计划而言,没有性能差异.链接器仅链接实际用于程序的函数.库中存在的未使用的函数将无法链接.如果包含许多库,则编译程序可能需要更长的时间.
您不应该包括所有“最喜欢的库”的主要原因是程序设计.您的文件不应包含除正在使用的资源之外的任何内容,以减少文件之间的依赖关系.你的文件对程序其余部分的了解越少越好.它应尽可能自主.
总结以上是内存溢出为你收集整理的c – 包含库的运行时性能成本是多少?全部内容,希望文章能够帮你解决c – 包含库的运行时性能成本是多少?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)