您好:
ccs5.1中,编译器优化选项有几个优化级别,0级优化到3级优化,这几种优化级别分别代表什么样的优化?起到什么作用?
我发现,如果优化选项使用级别3时,没法调试,不便于观察变量.
Andy Yin:
您好,
关于优化的具体说明请参考www.deyisupport.com/…/5397.aspx 中关于优化相关资料。
优化级别越高,对cycle数的优化越明显,但是由于进行了优化,所以代码的执行进行了流水重排,所以不方便再进行单步调试。所以建议需要单步调试时不要开优化。
si cheng:
回复 Andy Yin:
你好:
照你的意思说, 单步调试和开优化选项就是一个矛盾的,如果我不开优化,程序调试完成后,发现效率不高的话,就只能该汇编了,因为调试好的程序在优化选项打开后,可能会出现一些问题. 这样的话,编译器的这个优化选项存在的意思是什么?
我发现,release模式下,程序还是可以单步调试的,release模式下,编译器优化选项自动选择的是2级优化,这说明在2级优化下,编译器还是可以实现单步调试的,不知道我的理解是否正确,请指教!
Andy Yin:
回复 si cheng:
您好,
只是说加了优化不方便再进行单步调试,加了优化可能出现问题,此时就需要通过调整代码进行解决。一旦由于加优化选项引入问题,此时可以通过反汇编对比进行定位。