реклама на сайте
подробности

 
 
> Flat в printf()! Как?
Шалапут:-)
сообщение Nov 24 2008, 10:15
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 11-01-07
Пользователь №: 24 303



Всем доброе время суток! Я переношу свой проект с СVAVR на GCC, в GCC возникла проблема с выводом значений с плавающей зяпятой:

float k=1.23;
printf ("d = %f",k);

при выводе получаю: d = ?
Тот же код работает в СVAVR, и не работает в ICC, только вместо знака вопроса выводит d = error
Помогите, плиз... smile3046.gif


--------------------
Роботы делают роботов - предел автоматизации
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SysRq
сообщение Nov 24 2008, 10:36
Сообщение #2


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Use -lprintf_flt, Luke smile.gif

Правьте makefile, подключите floating point библиотеку.
Go to the top of the page
 
+Quote Post
Шалапут:-)
сообщение Nov 24 2008, 10:46
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 11-01-07
Пользователь №: 24 303



Цитата(SysRq @ Nov 24 2008, 13:36) *
Use -lprintf_flt, Luke smile.gif

Правьте makefile, подключите floating point библиотеку.


Спасибо, пробую!


--------------------
Роботы делают роботов - предел автоматизации
Go to the top of the page
 
+Quote Post
Шалапут:-)
сообщение Nov 24 2008, 11:37
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 11-01-07
Пользователь №: 24 303



а use -lprintf_flt куда конкретно писать в мэйк файл? Библиотеку <float.h> подключил.


--------------------
Роботы делают роботов - предел автоматизации
Go to the top of the page
 
+Quote Post
msalov
сообщение Nov 24 2008, 11:52
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 526
Регистрация: 24-08-07
Из: Беларусь, Минск
Пользователь №: 30 045



Цитата(Шалапут:-) @ Nov 24 2008, 13:37) *
а use -lprintf_flt куда конкретно писать в мэйк файл? Библиотеку <float.h> подключил.

На этапе линковки компиляции добавлять (либо в $LDFLAGS в makefile-е, и не забыть добавить в коммандную строку). Пример ручного вызова:
Код
gcc some.c -o some.elf -lprintf_flt

Пример makefile-а
Код
CFLAGS= -Os
LDFLAGS= -lprintf_flt
OBJS= $(patsubst %.c,%.o,$(wildcard *.c))
.PHONY all
.c.o:
    gcc -c $< $(CFLAGS)
target: $(OBJS)
    gcc $^ -o $@ $(LDFLAGS)
all: target
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Шалапут:-)   Flat в printf()! Как?   Nov 24 2008, 10:15
|- - demiurg_spb   Цитата(Шалапут:-) @ Nov 24 2008,...   Nov 24 2008, 11:46
||- - Шалапут:-)   Цитата(demiurg_spb @ Nov 24 2008, 14:46) ...   Nov 24 2008, 12:11
||- - demiurg_spb   Цитата(Шалапут:-) @ Nov 24 2008,...   Nov 24 2008, 12:33
||- - Шалапут:-)   Цитата(demiurg_spb @ Nov 24 2008, 15:33) ...   Nov 24 2008, 12:57
||- - Шалапут:-)   Цитата(demiurg_spb @ Nov 24 2008, 14:33) ...   Nov 25 2008, 21:46
||- - SysRq   Цитата(Шалапут:-) @ Nov 26 2008,...   Nov 25 2008, 22:21
||- - demiurg_spb   Цитата(Шалапут:-) @ Nov 26 2008,...   Nov 25 2008, 23:19
||- - Шалапут:-)   Заработало!!! Иногда так мало надо для...   Dec 5 2008, 08:07
- - demiurg_spb   КодPRINTF_LIB_FLOAT = -Wl,-u,vfprintf -lprintf_flt...   Nov 24 2008, 10:46
|- - SysRq   Цитата(demiurg_spb @ Nov 24 2008, 13:46) ...   Nov 24 2008, 12:48
|- - demiurg_spb   ЦитатаThe variable width or precision field (an as...   Nov 24 2008, 13:17
- - SysRq   Project\Configuration options, там слева Cust...   Nov 24 2008, 12:31


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 23:37
Рейтинг@Mail.ru


Страница сгенерированна за 0.01396 секунд с 7
ELECTRONIX ©2004-2016