最近在迁移工程到IAR编译器上,发现编译优化等级变成了Low\Medium\High等,这与之前GCC优化等级-O1\2\3等有什么不同呢? 因此简单总结一下。 1.编译时优化器何时介入 首先回顾一下编译原理,编译器首先通过解析器把C代码生成中间代码,紧接着将中间代码通过代码生成器生成汇编代码,然后由汇编器Assmber将汇编代码转换成...
编译优化设置 IAR的编译优化等级设置由Option->C/C++ Complier->Optimizations打开。如下图所示,IAR提供了4个优化等级设置,分别为None、Low、Medium和High。图右侧勾选部分代表不同编译器优化行为的使能情况,通过High和Medium等级优化的对比,可以发现设置的编译优化等级越高,使能的编译器优化行为越多。 图1 图2 针对...
安装STM32CubeMX路径下有可执行文件,使用压缩工具打开。在templates目录下有所有的工程模板。IAR的如图...
编译优化设置 IAR的编译优化等级设置由Option->C/C++ Complier->Optimizations打开。如下图所示,IAR提供了4个优化等级设置,分别为None、Low、Medium和High。图右侧勾选部分代表不同编译器优化行为的使能情况,通过High和Medium等级优化的对比,可以发现设置的编译优化等级越高,使能的编译器优化行为越多。 图1 图2 ...