xs128编程中遇到的两个warning

来源:互联网 发布:软件开发的岗位 编辑:程序博客网 时间:2024/06/05 02:57

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

原创粉丝点击