inline真正含义与编译器内联决策
请解释inline关键字的真正含义及编译器内联决策因素。
回答
我是大山
inline现代含义:允许多个编译单元重复定义(ODR例外)。不保证内联。 内联由编译器决定,因素:函数体大小、调用频率、递归、虚函数、优化级别、LTO。 attribute((always_inline))/noinline可强制/禁止内联。
请解释inline关键字的真正含义及编译器内联决策因素。
inline现代含义:允许多个编译单元重复定义(ODR例外)。不保证内联。 内联由编译器决定,因素:函数体大小、调用频率、递归、虚函数、优化级别、LTO。 attribute((always_inline))/noinline可强制/禁止内联。