sprintf 问题

2019-08-06 15:58发布

sprintf(rgbhChar,"%4.4f",1234.5678);

测试了一下,这句耗时18740个机器周期。
印象里,以前测试过Keil的C51,好像比较复杂的转换也就2K~4K个机器周期(很久了,记忆准确吗?)

现CPU是msp430F449,编译器是IAR,工程选项卡里已经选了硬件乘法器。
为啥这么慢呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
heweibig
1楼-- · 2019-08-07 15:25
预先编译好的obj,工程中的选项对其无影响
dengdc
2楼-- · 2019-08-07 16:31
主要还有由于楼主用的开发环境不同,是不是用的库中的sprintf()功能不同?
我原来用汇编编过很多程序,430有很多指令在4个周期左右(和寻址方式有关),c51大多数指令是2周期;当然,在同等晶振频率下,430还是比51快的多。
zhaoxqi
3楼-- · 2019-08-07 20:19
哦,这样啊
jiahy
4楼-- · 2019-08-08 00:57

你听到的说法是对的,编译器会根据内核情况选用合适的硬件。静态库文件是否使用到硬件的乘法器,决定于编译时候编译器的配置
zhaoxqi
5楼-- · 2019-08-08 06:16
 精彩回答 2  元偷偷看……
shimx
6楼-- · 2019-08-08 09:32
为了符合 ANSI C

一周热门 更多>