Вход
Наше всё
Теги
codebook
无线电组件
Поиск
Опросы
Закон
Воскресенье
20 апреля
О смысле всего сущего
0xFF
Средства и методы разработки
Мобильная и беспроводная связь
Блошиный рынок
Объявления
Микроконтроллеры
PLD, FPGA, DSP
AVR
PIC
ARM, RISC-V
Технологии
Кибернетика, автоматика, протоколы
Схемы, платы, компоненты
Средства и методы разработки
292272
Топик полностью
++
(16.12.2011 13:35, просмотров: 147)
ответил
Сергей Борщ
на
Должно быть va_arg(double). Компилятор, в соответствии со стандартом, должен привести float к double при вызове функции с переменным числом аргументов. Проц случайно не big-endian? Тогда va_arg(float) будет вынимать не ту половину от double.
Проц big endian. Как собирать gcc-cross? При компиляции программы указывается опция -EB.
++
Ответить
Замените _double = va_arg(arg, float); на _double = va_arg(arg, double); И все должно заработать.
-
Сергей Борщ
(16.12.2011 15:08
)