<分区>
如果调用 gcc
时启用了链接时间优化 (-flto
),并且我正在使用其中之一以下关键字/属性:
__attribute__((always_inline)) void foo(int i);
inline void bar(int i);
此关键字/属性是否会影响链接时优化的行为(如果编译器无法执行 inline
ing)?
与没有此关键字/属性的函数相比,链接时优化是否更喜欢这些函数的内联
ing。
问题是它是否对链接器阶段的处理有影响,而不是编译器。
<分区>
如果调用 gcc
时启用了链接时间优化 (-flto
),并且我正在使用其中之一以下关键字/属性:
__attribute__((always_inline)) void foo(int i);
inline void bar(int i);
此关键字/属性是否会影响链接时优化的行为(如果编译器无法执行 inline
ing)?
与没有此关键字/属性的函数相比,链接时优化是否更喜欢这些函数的内联
ing。
问题是它是否对链接器阶段的处理有影响,而不是编译器。
最佳答案
基于此处找到的先前答案:what “inline __attribute__((always_inline))” means in the function?
__attribute__((always_inline))
使编译器尝试内联它,即使它在首选项中被禁用,并且
inline
告诉编译器非常努力地内联函数。
关于c++ - inline 关键字会影响链接时间优化吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32023624/