MDK AC6 C/C++ 参数配置 选项 说明


官方说明文档
官方文档PDF版
官方文档网页版
网上资料
(1)预处理:主要就是预定义功能,相当于在程序中进行#define xxx
(2)语言代码生成:可理解为编译、链接到最后生成代码,这部分功能对代码优化较重要
Execute only Code(设置编译器命令行 --execute_only):只生成执行代码,防止编译器生成任何数据访问代码
Optimize(设置编译器命令行 --Onum):优化选择项
Optimize for Time(设置编译器命令行 --Otime (–split_sections)):比如某些算法本身代码量较大,运行需要很长时间(假如为2秒),此时勾选该功能则会发现运行时间有较为明显的减少(或许小于1秒)
Split Load and Store Multiple(设置编译器命令行 --split_ldm):加载和储存多个分裂;非对其数据采用多次访问方式,当LMD/STM指令有4个以上产生时,则分裂LMD和指令,以减小中断延迟,M4 M7系列内核无需选择
One ELF Section per Function(设置编译器命令行 --split_sections):优化每一段函数ELF段(建议都勾选);每个函数都会产生一个ELF段,勾选该功能允许优化每个ELF,可以减少潜在的共享地址、数据和函数之间的字符串;直白说就是可以减少代码量ROM的大小(内存RAM不会减少)
Enum Container always int(设置编译器命令行 --enum_is_int):枚举时成员变量总为int型
Plain Char is Signed(设置编译器命令行 --signed_chars):纯字符标记为字符
Read-Only Position Independent(设置编译器命令行 --apcs=/ropi):为常量生成独立的代码空间;比如我们可以将字库变量定义为常量,勾选该功能后会将这些字库变量放在独立的代码空间中
Read-Write Position Independent(设置编译器命令行 --apcs=/rwpi):为可读写代码生成独立的代码空间
Warnings(No Warnings设置编译器命令行 -W):No Warning:不会有警告提示和输出;All Warnings:所有警告提示和输出
No Auto Includes(一般不勾选):不自动添加头文件;不勾选该项则编译器会在Keil安装路径下寻找工程中的 .h 文件

posted @ 2024-04-26 11:40  求隐  阅读(1018)  评论(0)    收藏  举报