续上一篇文章,这章节主要讲Compile Option这个标签栏,单击CA78K0R(Build Tool)->Compile Option,如下图
Debug Information
添加调试信息,有三个等级可以选,0不添加,1在布标文件中添加,2在汇编和目标文件中添加,建议选2,这个选项仅在调试中有意义,发布的时候无意义
Optimization
优化等级:默认标准,有速度优先、标准、代码尺寸优先、细节、不优化这几种选项,一般选择优化等级都是为了代码尺寸,但是即使是这个编译器的最优级别,代码尺寸仍然比CS+ for cc的不优化要大,所以当代码量比较庞大的时候,请尝试CC这个IDE
Preprocess
预处理:
添加库路径,一般不加,你真要有自己的库,到是可以在这里添加
系统包含路径,不用用户添加的,当你把代码包含进工程的时候这里会自动添加
Macro define,宏定义,我一般不建议在ide添加宏,最好在代码里面添加
宏的去处定义,和宏定义相反,细节请看c语言的相关书籍,这里就不细讲了
startup:启动,第一个启动代码的位置,可以选择标准启动和boot启动,这个IDE是有boot代码库的,可以在官网添加,我也没有用过,据代理商的技术支持介绍到是挺简单,反正是调用API
USE FIXED AREA USED BY STADARD LIBRARY:根据help的介绍,这里是主要是给动态内存调用函数使用固定内存区域的,如果没有用到malloc,free之类的函数,这里可以选择no
ROMize far area :看了help,没懂,谁知道的求指教
library:
标准库是否调用
是否使用标准的输入输出库支持浮点数据,强烈建议,不要用浮点数,宁愿数据放大后计算也不要用浮点数,除非你的单片机带FPU
是否使用累加器,废话,当然用啊,真不明白这种选项放出来干嘛,直接默认有不得了
标准库选择:没找到说明,但是我用标准库比较少,默认就好
Message:
verbose mode:老太太模式,坚决no
warring level:程序员忽略警告
Extension:延伸
是否允许C++格式:默认是允许的,反正我不用C++
嵌套评论:其实就是是否允许使用/**/,我想说,编译器作者是智障吗?白痴吗?默认居然是NO,
日文的源码解释:这个选项对于中文支持有帮助,可以看看我的第一篇文章的最后一段
是否遵循ANSI标准:默认NO,哎╮(╯▽╰)╭
关闭int拓展:是否允许unsigned char的编译,默认NO,MDZZ
输出目标到RAM:这个实在没看懂,我直译help好了。选择是否分配代码和ROM数据到RAM区域。 为RAM在运行时指定一个区域运行实时库。
Momory Model:
内存类型:默认就好,这个我忘了怎么回事了,技术支持说过的,影响不大这东西
输出flsah目标:没需求,一般NO
START address of flash area:起始地址,没啥事你改它干嘛?除非你要指定一个区域用来存东西,但是单片的flash就10000次写入,你非要搞死它吗?
Start address of flash area branch table:这个我到是没懂
specify mirror area:用来干嘛的?知道的给解释一下
Output File:
输出目标文件
汇编文件:
输出汇编文件
变量、函数信息文件
Data Control:
大小端排列,这个就不解释了,自己去看数据的大小端解释
Pack structure members :结构体的成员对齐,就是是否允许插入字节达到成员对齐,关于结构体的内存分配,请看我的另一篇博文,这里不细述
perform indirect referencing in 1-byte area :不懂
静态变量地址分配,选择变量最全的那个,不然在形参为结构体的时候,有时候回导致变量赋值失败
外部变量地址分配,同上
rom数据分配地址:这个选NO即可
List file
预处理文件输出:按需求选择
错误列表文件:一般这种错误信息除非是语法错误,否则很难读懂,感觉仅在编译过程中有意义
output cross reference list file:不懂
Other:
编译前的命令执行:在编译前调用CMD执行命令行操作,具体命令参考help,太多了,懒得写了
编译后的命令执行:在编译后调用CMD执行命令行操作
别的添加选项
写于2017年8月16日
深圳