2

我编写了一个小示例代码并在 GCC 和 DIAB 编译器中执行。

#include<stdio.h>
int main() 
{
    float a[10];

    long long int b[10];
    int i;
    for (i =0;i<10;i++)
    {
        a[i] = 1.256*i;
        b[i] = (long long int)a[i];
        printf("%f\t%lld\n",a[i],b[i]);
    }

    return 0;
}

GCC 编译器的输出是:

0.000000 0 1.256000 1 2.512000 2 3.768000 3 5.024000 5 6.280000 6 7.536000 7 8.792000 8 10.048000 10 11.304000 11

DIAB 编译器中的问题是:

dld.exe:警告:文件 'sfpfftoll.o(C:\WINDRI~2\diab\580~1.0-3\PPCVLEES\libimpfp.a)'中的未定义符号 '__asr64' dld.exe:警告:未定义符号 '__lsl64 '在文件 'sfpfftoll.o(C:\WINDRI~2\diab\580~1.0-3\PPCVLEES\libimpfp.a)' dld.exe: 错误: 未定义符号 - 没有输出写入 make.exe: *** [..\output\bin\xxxxxxx.elf] 错误 1

是否有任何解决方法可以将浮点数组转换为 long long int 数组?我尝试使用指针,但仍然面临相同的链接器问题。

4

0 回答 0