Вход
Наше всё
Теги
codebook
无线电组件
Поиск
Опросы
Закон
Воскресенье
20 апреля
О смысле всего сущего
0xFF
Средства и методы разработки
Мобильная и беспроводная связь
Блошиный рынок
Объявления
Микроконтроллеры
PLD, FPGA, DSP
AVR
PIC
ARM, RISC-V
Технологии
Кибернетика, автоматика, протоколы
Схемы, платы, компоненты
Средства и методы разработки
292255
Топик полностью
fk0
легенда
(16.12.2011 12:44, просмотров: 123)
ответил
++
на
У меня printf("%f", double) печатает правильное значение. printf("%f", float) не правильное. Как я понял, это из -за того, что va_arg(float) gcc рассматривает как va_arg(double). Gcc собирал сам. Как победить?
Я могу предположить, что libc и программа с разными опциями компилятора собирались.
[ZX]
Ответить
libc отсутсвует. gcc собирался --with-newlib. При сборке программы используются только библиотеки gcc. (--nostdlib)
-
++
(16.12.2011 13:37
)
va_arg(arg, float) на va_arg(arg, double) заменён? Если да, то тут вспоминается, тут же на сахаре, жаловался на (не)выравнивание в стеке. sizeof(double) == 8 ? Как бороться не преставляю.
-
fk0
(16.12.2011 13:58
)