#pragma optimize
应该驻留在B.h
中吗:-
class B{
#pragma optimize( "", off )
public: void f();
#pragma optimize( "", on )
};
或B.cpp
:-
#include "B.h"
#pragma optimize( "", off )
void B::f(){
}
#pragma optimize( "", on )
还是两者?
官方网站(https://docs.microsoft.com/en-us/cpp/preprocessor/optimize?view=vs-2019上有一个有用的描述,但是我不确定它是什么意思:-
优化杂注必须出现在函数外部并在以下位置生效 看到编译指示后的第一个已定义功能。
“ 已定义”是什么意思-声明或实现?
类似的问题/参考:-
-Why #pragma optimize("", off)-为什么要使用它。
-"Function has no address" despite disabled optimization (/Od)-为什么位置很重要。