繁体   English   中英

GCC是否优化了呼叫约定

[英]Does GCC optimize calling conventions

我想知道,可以明确指定自定义调用约定,但考虑到编译器中找到的优化的成熟度和数量,当没有指定调用约定时,我可以期望编译器为特定函数选择最佳的一个,例如,如果参数很少,原始使用fastcall等等......

出于某种原因,这是一个“惯例”。 每个人都必须遵循惯例,否则您无法从另一个模块调用您的函数。

但是,如果该功能不可见,那么GCC有选项。 它可以内联函数或调用它,但它想要。 它甚至可能将它分成“热”和“冷”部分并内联热代码路径。 这通常仅在使用配置文件引导优化构建时发生。

如果您希望GCC进行这样的优化,请继续隐藏您的功能。 如果要构建可执行文件,请查看-fwhole-program。 如果您正在构建库,请查看-fvisibility = hidden。 另请参阅-flto。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM