Jump to content
    

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

13 hours ago, razrab83 said:

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

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

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

Share this post


Link to post
Share on other sites

3 hours ago, razrab83 said:

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

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

Share this post


Link to post
Share on other sites

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

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

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

Edited by razrab83

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...