【ARM】Keil MDK如何指定单文件的优化等级

1、 文档目标

解决在MDK中如何对于单个源文件去设置优化等级。

2、 问题场景

在正常的项目开发中,我们通常都是针对整个工程去做优化,相当于整个工程都是使用一个编译器优化等级去进行的工程构建。那么在一些特定的情况下,工程师需要保证我的部分源文件中的所有内容单独进行优化或者不优化。以此来保证指定源代码的完整性。

3、软硬件环境

1)、软件版本:Keil MDK 5.38a

2)、电脑环境:Windows 11

3)、外设硬件:无

4、解决方法

1)、如果需要对于单文件进行单独的选项配置的话,就选中对应的源文件,然后,右键在打开的菜单中选择Options for File 'main.c'。(如图4-1)

图4-1

2)、然后,在打开的Options for File 'main.c'窗口中,切换到C/C++栏,在Optimization中去选择优化等级(如图4-2)。"<default>"选项是默认使用整个工程采用的优化等级。选择"Level 0/1/2/3"就是将对应的源文件使用O1/2/3优化等级去进行构建。

图4-2

3)、然后,在生成的C Compiler Listing文件中就可以看到选用的优化等级生效了(如图4-3)。

图4-3