|
|
  |
Как перенаправить поток а IAR? |
|
|
|
Aug 2 2006, 12:12
|
Частый гость
 
Группа: Свой
Сообщений: 120
Регистрация: 4-01-06
Из: Москва
Пользователь №: 12 837

|
Кто - нибудь задавался этим вопросом? Собственно хочется приспособить класс ostream для форматированного выхода информации например в уарт.
--------------------
То, что неясно, следует выяснить. То, что трудно творить, следует делать с великой настойчивостью. Конфуций
|
|
|
|
|
Aug 2 2006, 17:48
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(scout @ Aug 2 2006, 15:12)  Собственно хочется приспособить Найдите в документации на компилятор раздел: "Standard streams for input and output" Там авторы компилятора озаботилтсь осветить этот вопрос.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Aug 2 2006, 18:21
|
Частый гость
 
Группа: Свой
Сообщений: 120
Регистрация: 4-01-06
Из: Москва
Пользователь №: 12 837

|
В доке на компилер описано как перенаправить вывод с помощью printf. А мне хотелось бы или перенаправить стандартный поток cout(что не хотелось бы, т.к он выводит данные на консоль, что очень удобно при отладке) или создать еще один обьект класса ostream и перегрузить оператор "<<" для всех типов данных. В обьявлении класса ostream оператор "<<" только обьявлены, т.е ничего не делает.
Так вот обьект то создать не проблема, а вот написать собственные функции перегрузки мне слабо.
Может у кого есть рабочий пример?
--------------------
То, что неясно, следует выяснить. То, что трудно творить, следует делать с великой настойчивостью. Конфуций
|
|
|
|
|
Aug 2 2006, 18:55
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(scout @ Aug 2 2006, 21:21)  А мне хотелось бы или перенаправить стандартный поток cout Он туда-же упирается, можете подменять. Цитата или создать еще один обьект класса ostream и перегрузить оператор "<<" Обычно в эмбедерстве поступают проще. Но может у Вас необычный случай? И для чего этот использовать?
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Aug 2 2006, 19:33
|
Частый гость
 
Группа: Свой
Сообщений: 120
Регистрация: 4-01-06
Из: Москва
Пользователь №: 12 837

|
Цитата Он туда-же упирается, можете подменять. Ну подменю я эти функции, а если поток надо коммутировать скажем на уарт и индикатор, то как компилер поймет какую функцию ему использовать. Неудобно получается... Если создавать свои потоки, как обьекты класса ostream, то на мой взгляд получается удобнее. Цитата Обычно в эмбедерстве поступают проще. Но может у Вас необычный случай? И для чего этот использовать? Для меня привычней и удобней использовать ввод/вывод с помощью потоков в стиле С++. Не вижу причин изменять привычкам
--------------------
То, что неясно, следует выяснить. То, что трудно творить, следует делать с великой настойчивостью. Конфуций
|
|
|
|
|
Aug 2 2006, 20:21
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(scout @ Aug 2 2006, 22:33)  Ну подменю я эти функции, а если поток надо коммутировать скажем на уарт и индикатор "Правильные" на мой взгляд варианты изложены: http://electronix.ru/forum/index.php?showt...&hl=sprintfЦитата Для меня привычней и удобней использовать ввод/вывод с помощью потоков в стиле С++. Тогда все таки _прочитайте_ рекомендованный ранее раздел документации и напишите свою __write(), где добавите свой handler для LCD. Цитата Не вижу причин изменять привычкам  С "больших машин" пришли? Возможно привычки стоит подвергнуть ревизии....
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Aug 3 2006, 05:06
|
Частый гость
 
Группа: Свой
Сообщений: 120
Регистрация: 4-01-06
Из: Москва
Пользователь №: 12 837

|
Цитата "Правильные" на мой взгляд варианты изложены: Ваши взляды я помню  Zltigo спасибо вам за ответы. А я ухожу ковырять это дело дальше.
--------------------
То, что неясно, следует выяснить. То, что трудно творить, следует делать с великой настойчивостью. Конфуций
|
|
|
|
|
Aug 3 2006, 08:44
|
Частый гость
 
Группа: Свой
Сообщений: 120
Регистрация: 4-01-06
Из: Москва
Пользователь №: 12 837

|
Все ОК.
--------------------
То, что неясно, следует выяснить. То, что трудно творить, следует делать с великой настойчивостью. Конфуций
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|