预编译指令
#pragma命令赋予程序员控制编译器的能力,由于#prama的实现依赖于编译器,使用方法因编译器而异。一个选项可能完全改变程序执行顺序。
引用 :keil armcc
#pragma Onum
单独修改某个代码片段的编译优化等级。调试非常好用。
void function1(void){
... // Optimized at O1 (from armcc -O1)
}
#pragma O3
void function2(void){
... // Optimized at O3
}
void function3(void){
... // Optimized at O3
}
To assign a new optimization level to an individual function, use #pragma Onum together with #pragma push and #pragma pop. For example, compiling with armcc -O1:
void function1(void){
... // Optimized at O1 (from armcc -O1)
}
#pragma push
#pragma O3
void function2(void){
... // Optimized at O3
}
#pragma pop
void function3(void){
... // Optimized at O1 (from armcc -O1)