紫passion 发表于 2015-10-07 18:50

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;
这是怎么回事呢?

MMMIX 发表于 2015-10-07 20:49

回复 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);
}

紫passion 发表于 2015-10-08 08:44

已经试过了,还是一样输出0.00回复 2# MMMIX


   

MMMIX 发表于 2015-10-08 12:37

回复 3# 紫passion


    那你估计得把问题反馈给 SDK 提供商,让他们看看到底怎么回事。

yjh777 发表于 2015-10-12 12:06

CPU没有浮点运算单元,如果需要用软浮点运算,编译时需要加特殊选项。

    search softfp
页: [1]
查看完整版本: Linux环境下atof函数不能用是咋回事