你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
举报
党国特派员 发表于 2015-8-19 14:47 编译器在处理一个 c 文件的时候呢,如果这个选项不选,那么这个C文件中的所有函数在编译后只会产生一个叫 . ...
wuwovicky 发表于 2015-8-19 15:28 就单单DAC功能不能用?最近我也发现这个功能,代码缩减10k左右,RTC 、ADC、SD功能一直正常。 ...
Johnson Cao 发表于 2015-8-19 16:07 是不是有什么中断函数,没有调用的地方,被优化掉了.
AREA ||.text||, CODE, READONLY, ALIGN=2
如果选了呢,那么每个函数将会产生一个输出节,如果你用C写了一个叫PRTL_HeadGet()的函数,那么编译器将会产生一个叫 i.PRTL_HeadGet 的输出节,具体如下。
AREA ||i.PRTL_HeadGet||, CODE, READONLY, ALIGN=2
PRTL_HeadGet PROC
;这样的话,编译器产生的输出节,粒度小多了,便于找到没有使用的函数,将它从最后输出文件中删除。这样,你最后产生的可执行文件大小将会变小。
你能你的重要代码代码编译器认为没有使用,删除了。
但是这个函数是调用了的,为什么会被优化掉呢
方便试下DAC么
没有使用中断函数
我前段时间遇到类似的问题,就是因为某个宏没有定义。没有编译进来。