haker_fox 61 31 января Опубликовано 31 января · Жалоба 13 hours ago, razrab83 said: Может в IAR 9-ке добавили этот ворнинг? Похоже на это. Моя предыдущая версия компилятора 8.40. В нём сборка происходила без этих предупреждений. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
razrab83 21 31 января Опубликовано 31 января · Жалоба 12 часов назад, tonyk_av сказал: Тут пробовали отключать? Нет. Я же говорю 20 часов назад, razrab83 сказал: его конечно можно заглушить декертивами или настройками, или явным приведением типа к double. Но что-то не очень нравиться работать с double Придется пока смериться с double, а в дальнейшем возможно писать свой sprintf или использовать сторонний. Их уже навелосипедили не мало. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tonyk_av 42 31 января Опубликовано 31 января · Жалоба 3 hours ago, razrab83 said: а в дальнейшем возможно писать свой sprintf А чем ваш printf() будет отличаться от библиотечного в части работы с числами с плавающей запятой? Понимает, на что я намекаю? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
razrab83 21 31 января Опубликовано 31 января (изменено) · Жалоба 7 минут назад, tonyk_av сказал: А чем ваш printf() будет отличаться от библиотечного он будет по %f (или по %k) принимать float Изменено 31 января пользователем razrab83 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 134 31 января Опубликовано 31 января · Жалоба 1 час назад, razrab83 сказал: он будет по %f (или по %k) принимать float "принимать-то он будет, да только кто ж ему даст?" Это особенность передачи параметров в функции с переменным числом аргументов. https://en.cppreference.com/w/cpp/language/variadic_arguments Все целое, меньшее int, неявно приводится к int, float неявно приводится к double. Чтобы передать float придется писать свой компилятор, но это будет уже "язык, похожий на Ц". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tonyk_av 42 31 января Опубликовано 31 января · Жалоба 1 hour ago, Сергей Борщ said: float неявно приводится к double Вот именно, на это я и намекал. Поэтому толку от переписывания библиотечной функции будет ровно ноль. 1 hour ago, Сергей Борщ said: Чтобы передать float придется писать свой компилятор Вроде, как раз у ИАР есть опция компилятора, позволяющая изменять типы данных, используемые по умолчанию, то есть он будет вместо double передавать float. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться