我正在考虑标题与标题和源代码设计之间的关系。 我不确定标头和源是否允许编译器跨目标文件和链接进行优化? 内联优化?
头文件和源文件通常编译为单个翻译单元(因为头文件包含在源文件中)。 所以,这不会是一个问题(除非你有一个特殊的环境,标题是单独编译的)。
GCC确实支持跨不同翻译单元的优化。 请参阅链接时间优化 。
有关详细信息,请参阅-flto
选项的文档:
-flto [= N]
此选项运行标准链接时优化程序。 当使用源代码调用时,它会生成GIMPLE(GCC的内部表示之一)并将其写入目标文件中的特殊ELF部分。 当目标文件链接在一起时,所有函数体都从这些ELF部分读取并实例化,就好像它们是同一个翻译单元的一部分一样。 要使用链接时优化程序,应在编译时和最终链接期间指定-flto和优化选项。 建议您使用相同的选项编译参与同一链接的所有文件,并在链接时指定这些选项。
以上就是c/c++开发分享C编译器是否能够跨目标文件进行优化?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/549857.html