1、C12056: SP debug info incorrect because of optimization or inline assembler
以下内容摘自网络
一、产生原因:
Warning C12056是代码最优化时(common code optimization)堆栈指针不一致造成;
二、解决办法:
在菜单 -> Edit -> Standard Setting(或快捷键ALT+F7) -> Compiler for HC12 -> Options -> Main Optimize Target对话框选中,然后再选中optimize for execution time对话框即可;具体截图如下所示:
但是这种方法只是取消了优化而已。这种warning对实际效果不会有什么影响。在阅读
http://codewarrior.embedded.narkive.com/C2s025iB/warning-c12056-sp-debug-info-incorrect-because-of-optimization-or-inline-assembler
后发现,产生warning的主要原因是编译器发现代码中有反复重复的部分,会自行优化生成一些子函数进行调用,如果那些代码恰好处于不同的SP指针下,系统仍然会执行优化,但是会爆出这个warning。所以要不就改代码自己封装一些函数把反复出现的一些部分替代,要不就直接不理它。
2、c1858 partial implicit parameter declaration
函数声明不规范 空型的 在括号里就应该写上void