c++ - inline 关键字会影响链接时间优化吗?

标签 c++ c gcc linker inline

<分区>

如果调用 gcc 时启用了链接时间优化 (-flto),并且我正在使用其中之一以下关键字/属性:

__attribute__((always_inline)) void foo(int i);
inline void bar(int i);

此关键字/属性是否会影响链接时优化的行为(如果编译器无法执行 inlineing)?

与没有此关键字/属性的函数相比,链接时优化是否更喜欢这些函数的内联ing。

问题是它是否对链接器阶段的处理有影响,而不是编译器。

最佳答案

基于此处找到的先前答案:what “inline __attribute__((always_inline))” means in the function?

__attribute__((always_inline))

使编译器尝试内联它,即使它在首选项中被禁用,并且

inline

告诉编译器非常努力地内联函数。

关于c++ - inline 关键字会影响链接时间优化吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32023624/

相关文章:

c# - 在 C++ 中使用 C# 库

C++ If 语句,从 else 开始重复

c++ - "explicit"构造函数对重载决议的影响

c++ - 分配字符串时出现段错误

c++ - 在我的 Mac 上编译时,当我使用 "gcc"编译但不使用 clang++ 时出现此错误

c++ - 用 protobuf 枚举替换 C++ 枚举

c - C 中的多管道

c++ - GCC优化技巧,真的有用吗?

c - -Wmissing-field-initializer 使用指定的初始值设定项时

c - 我的 C 程序没有给出正确的结果