如何设置iar优化等级

如何设置iar优化等级,第1张

果在A行设置的断点,单步调试的时候却只能到达A后边的某几行,可能的一个原因就是代码优化的等级太高了,导致编译器实际上没有在A行停顿。

解决办法:

在OPTION下修改优化等级

IAR默认的是最高优化等级。如果程序不大建议不优化。如果优化等级高,那么一些非汇编的延时函数可能无法执行,一些局部变量的值可能在使用过后,即便没有离开自己的作用

果在A行设置的断点,单步调试的时候却只能到达A后边的某几行,可能的一个原因就是代码优化的等级太高了,导致编译器实际上没有在A行停顿。

解决办法:

在OPTION下修改优化等级

IAR默认的是最高优化等级。如果程序不大建议不优化。如果优化等级高,那么一些非汇编的延时函数可能无法执行,一些局部变量的值可能在使用过后,即便没有离开自己的作用

不用把所有的函数声明在一个文件中。你用到什么函数(另外文件中的),就把那个文件的头文件inlcude 一下就可以了。\r\n\r\n比如你写了main.c function.h functio.c 三个文件,然后,你要在main.c里调用fun()函数,只要在main.c里include \\“function.h” 就行了\r\n\r\n\\/\\/function.h\r\nextern void fun()\r\n\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\r\n\\/\\/functio.c\r\nvoid fun()\r\n{\r\n\\/\\/code\r\n}\r\n\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\r\n\\/\\/main.c\r\ninclude "function.h"\r\nint main()\r\n{\r\n fun()\r\n}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7787695.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存