Перейти к содержанию
    

sprintf - Warning[Pa205]: implicit conversion from float to double

13 hours ago, razrab83 said:

Может в IAR 9-ке добавили этот ворнинг?

Похоже на это. Моя предыдущая версия компилятора 8.40. В нём сборка происходила без этих предупреждений.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

12 часов назад, tonyk_av сказал:

Тут пробовали отключать?

Нет. Я же говорю

20 часов назад, razrab83 сказал:

его конечно можно заглушить декертивами или настройками, или явным приведением типа к double. Но что-то не очень нравиться работать с double

Придется пока смериться с double, а в дальнейшем возможно писать свой sprintf или использовать сторонний. Их уже навелосипедили не мало.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 hours ago, razrab83 said:

а в дальнейшем возможно писать свой sprintf

А чем ваш printf() будет отличаться от библиотечного в части работы с числами с плавающей запятой? Понимает, на что я намекаю?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 минут назад, tonyk_av сказал:

А чем ваш printf() будет отличаться от библиотечного

он будет по %f (или по %k) принимать float

Изменено пользователем razrab83

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, razrab83 сказал:

он будет по %f (или по %k) принимать float

"принимать-то он будет, да только кто ж ему даст?" Это особенность передачи параметров в функции с переменным числом аргументов. https://en.cppreference.com/w/cpp/language/variadic_arguments Все целое, меньшее int, неявно приводится к int, float неявно приводится к double. Чтобы передать float придется писать свой компилятор, но это будет уже "язык, похожий на Ц".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, Сергей Борщ said:

float неявно приводится к double

Вот именно, на это я и намекал. Поэтому толку от переписывания библиотечной функции будет ровно ноль.

1 hour ago, Сергей Борщ said:

Чтобы передать float придется писать свой компилятор

Вроде, как раз у ИАР есть опция компилятора, позволяющая изменять типы данных, используемые по умолчанию, то есть он будет вместо double передавать float.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...