如何更改特定函数/中断的代码优化?
正在处理一些中断相关的代码,中断需要非常快速。我至少需要使用gcc的"-O2"优化级别。不想将整个项目设置为O2,因为这样调试很麻烦。我发现了两种方法可以将gcc为特定函数设置自定义优化选项:添加optimize属性:void __attribute__ ((optimize("-O2"))) EXTI4_15_IRQHandler(void){ // ...}或者使用pragma命令:#pragma GCC push_options#pragma GCC optimize ("-O2")void EXTI4_15_IRQHandler(void){ // ...}#pragma GCC pop_options经测试,这两种方法对优化没有影响。这种情况咋办?使用__attribute__((optimize("...")))属性,直接作用于目标函数,无需修改全局配置
可以选择通过#pragma指令临时调整优化选项
直接标记中断服务函数的优化级别
页:
[1]