Может быть, в версии компилятора и библиотек?
У меня Fedora, а не Debian, поэтому немножко иначе :
Код: Выделить всё
$ rpm -qi gcc
Name : gcc Relocations: (not relocatable)
Version : 4.3.2 Vendor: Fedora Project
. . .
$ rpm -qi libc6-dev
пакет libc6-dev не установлен
$ rpm -qi libc6
пакет libc6 не установлен
С библиотеками я что-то не очень понял. У меня установлено :
Код: Выделить всё
$ rpm -qi glibc
Name : glibc Relocations: (not relocatable)
Version : 2.9 Vendor: Fedora Project
. . .
$ rpm -qi glibc-devel
Name : glibc-devel Relocations: (not relocatable)
Version : 2.9 Vendor: Fedora Project
. . .
А если посмотреть внимательнее, то получим, что 2.9 - это и есть шестерка :
Код: Выделить всё
$ rpm -ql glibc
. . .
/lib/libc-2.9.so
/lib/libc.so.6
. . .
$ ls -l /lib/libc.so.6
lrwxrwxrwx 1 root root 11 Мар 12 15:14 /lib/libc.so.6 -> libc-2.9.so
На ARM-е все то же самое, только версия библиотеки - 2.3. Я подозреваю, что проблемы в ядре. Тот девайс, для которого пишу программу, он с ядром хоть и 2.6, но собранном из исходов и вполне может быть, что мы туда чего-то "недовложили"... :-( Причем, сама по себе, плавающая арифметика работает. Вот крохотный тест :
Код: Выделить всё
int main (int argc, char *srgv[]) {
float tax;
int j;
tax = 2.5;
j = 2.0 * tax;
printf("j=%d\n", j);
}
$ ./a.out
j=5
$
Короче - не могу понять, с какой стороны за это дело браться... :-(