1
我最近在阅读一些代码并且遇到了这个成语。什么C++习语是“extern __forceinline”?
extern
__forceinline
int foo()
{
return 0;
}
什么是“extern __forceinline”成语?在这种情况下,“extern”会将内联提示添加到内联提示中?
我最近在阅读一些代码并且遇到了这个成语。什么C++习语是“extern __forceinline”?
extern
__forceinline
int foo()
{
return 0;
}
什么是“extern __forceinline”成语?在这种情况下,“extern”会将内联提示添加到内联提示中?
__forceinline关键字覆盖了成本/收益分析,并取决于程序员的判断。使用__forceinline时请谨慎。不分青红皂白地使用__forceinline可以导致更大的代码,只有边际性能增益,或者在某些情况下甚至会导致性能损失(例如,由于增加了对较大可执行文件的分页)。
C++没有'__forceiline',这意味着这是不太可能是一个 “C++成语”。 C语言具有'extern inline'构造,具有相当具体的含义(自C99以来)。但在C++'extern inline'中没有特别的价值。 – AnT
https://msdn.microsoft.com/en-us/library/bw1hbe6y.aspx –
双下划线告诉你'__forceinline'是编译器特定的。在这种情况下'extern'的效果也可能是编译器特有的。它可能会被用来抑制警告。无论如何,这不是一个成语。 –