MSP430下C语言代码中常量计算导致代码体积变化的问题

2019-07-28 19:14发布

你好,我调试程序时发现如下两行代码生成的文件大小有2K左右的区别, MSP430编译器不会先把常量计算编译时先计算好,在链接时字节使用吗?  记的以前用keil C51时如下2行是没有问题的。

     //注意:下面2行代码导致的代码体积变化明显
      //ucRow = (unsigned char)(sin(usI*3.14159*4/127)*20+32);   
      ucRow = (unsigned char)(sin(usI*0.0989478)*20+32);   

多谢大家了。我用的MSP430G2553,16K空间有点紧张了。

另外发现使用三角函数也会使代码体积剧增(10K左右),大家一般是如何处理的呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
8条回答
dirtwillfly
2019-07-29 00:41
不清楚你用的那个型号的msp430。
msp430和51单片机一样,要尽量避免直接进行大量的浮点数计算的。
有些msp430带硬件乘法器,如果有硬件乘法器的话尽量使用硬件乘法器进行浮点数计算吧。尽量使用对msp430优化过的数学库(ti官网有库文件)。
另外,如果对这两个行代码的计算时间没有太大限制的话,可以尝试调整编译时的优化选项。

一周热门 更多>