Linux环境下atof函数不能用是咋回事
一个简单的字符串转换成浮点数的小程序,#include<stdlib.h>main()
{
char *a="-100.13";
float c;
c=atof(a);
printf("c =%.2f\n",c);
}这个程序在c语言里编译通过,输出c=-100.13;在arm开发板里,gcc编译通过,但是输出c=0.00;
这是怎么回事呢? 回复 1# 紫passion
用如下测试用例再在 ARM 上试下:
#include <stdio.h>
#include <stdlib.h>
int main()
{
char *a="-100.13";
double c;
c=atof(a);
printf("c =%.2f\n",c);
}
已经试过了,还是一样输出0.00回复 2# MMMIX
回复 3# 紫passion
那你估计得把问题反馈给 SDK 提供商,让他们看看到底怎么回事。 CPU没有浮点运算单元,如果需要用软浮点运算,编译时需要加特殊选项。
search softfp
页:
[1]