Проблема компоновщика неопределенных символов в компиляторе Diab при вводе массива данных от float до long long

Я написал небольшой пример кода и выполнялся в компиляторах 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: предупреждение: неопределенный символ '__asr64' в файле 'sfpfftoll.o(C:\WINDRI~2\diab\580~1.0-3\PPCVLEES\libimpfp.a)' dld.exe: предупреждение: неопределенный символ '__lsl64' in file '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? Я пытался использовать указатели, но все еще сталкивался с той же проблемой компоновщика.

0 ответов

Другие вопросы по тегам