Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/163.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在编译过程中,多余的链接/库会如何影响可执行文件的输出?_C++_Compilation_Linker - Fatal编程技术网

C++ 在编译过程中,多余的链接/库会如何影响可执行文件的输出?

C++ 在编译过程中,多余的链接/库会如何影响可执行文件的输出?,c++,compilation,linker,C++,Compilation,Linker,例如,如果我将对象“example.o”链接到 并且输出可执行文件的编译效果与仅与 -lGL -lm -lglfw3 那么,前一个编译的过度链接会如何影响最终用户的可执行文件(如果有的话)?加载/运行时间?对于较大的程序(理解“example.o”相当小) 诚然,这个问题可能是我自己的启发。如果编译器驱动程序在默认情况下将“-as needed”选项传递给链接器,那么这对生成的二进制文件没有影响,因为链接器将删除不需要的库依赖项 Debian wiki是一篇关于这方面的广泛文章:.显然依赖于链

例如,如果我将对象“example.o”链接到

并且输出可执行文件的编译效果与仅与

-lGL -lm -lglfw3
那么,前一个编译的过度链接会如何影响最终用户的可执行文件(如果有的话)?加载/运行时间?对于较大的程序(理解“example.o”相当小)


诚然,这个问题可能是我自己的启发。

如果编译器驱动程序在默认情况下将“-as needed”选项传递给链接器,那么这对生成的二进制文件没有影响,因为链接器将删除不需要的库依赖项


Debian wiki是一篇关于这方面的广泛文章:.

显然依赖于链接器,但我认为额外的库几乎没有效果。链接时间会略微增加,因为搜索所有符号需要更长的时间,但是如果没有使用额外的符号,并且链接器是值得的,那么可执行文件的大小和运行时间应该不会受到任何影响。谢谢您的想法!我马上就要读这篇文章了。
-lGL -lm -lglfw3