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

 
 
> глюки с форматированным выводом
Sergio_chiper
сообщение Oct 3 2007, 21:12
Сообщение #1





Группа: Новичок
Сообщений: 6
Регистрация: 20-10-06
Пользователь №: 21 521



Заметил неприятную фичу. Если в printf или его производных не соответствуют строка форматирования и список параметров, то стек неприлично загаживается. Есть ли способы вылечить этот эффект опциями компилятора?
Система жутко нестабильна, надо весь пользовательский ввод обрамлять весьма интеллектуальными фильтрами, лениво... Пользователи пока не допёрли, что невинная комбинация %f во вводимых данных сносит крышу напрочь smile.gif

И вообще, это фича ИАРа или особенность ARMов? Склоняюсь к первому, но проверять на других компиляторах самому, извините, == маразм.
Обрисуйте ситуацию, кому не лень, пжлст.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rezident
сообщение Oct 3 2007, 21:16
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Дык уже многократно говорено, что printf/sprintf в IAR требует большого стека. Тем более с полнофункциональными опциями (вывод float).
Go to the top of the page
 
+Quote Post
Sergio_chiper
сообщение Oct 3 2007, 22:05
Сообщение #3





Группа: Новичок
Сообщений: 6
Регистрация: 20-10-06
Пользователь №: 21 521



Да он работает замечательно, но стоит дать в строке форматирования ссылку на несуществующий в списке параметров элемент, тут же все рушится.
Т.е. пишем строчку printf(" %d %d %d", a, b); и каюк. Похоже, компилятор достаёт из стека параметры вместо того, чтобы запомнить указатель и вернуть его при выходе. У кейла для 166 с этим проблем нет, да и вообше я не припомню компилятора, который бы так плохо себя вёл...
Go to the top of the page
 
+Quote Post
alexander55
сообщение Oct 4 2007, 05:14
Сообщение #4


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Цитата(Sergio_chiper @ Oct 4 2007, 02:05) *
Т.е. пишем строчку printf(" %d %d %d", a, cool.gif; и каюк.

А зачем свои ошибки приписывать компилятору.
Это типа: с больной головы на здоровую. smile.gif
Не обижайтесь, это шутка.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 05:50
Рейтинг@Mail.ru


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