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