Что происходит, если printf не обрабатывается - PullRequest
0 голосов
/ 27 сентября 2011

В настоящее время я поддерживаю некоторые устаревшие программы, написанные давно, скомпилированные в gcc 2.95.3. Программа запускается в SBC, иногда мне приходилось подключаться к ней по телнету, чтобы все исправить. Я заметил, что когда SBC работает сам по себе, он отображает неожиданное поведение, например пропущенные казни.

Когда я запускаю telnet, убиваю процесс и запускаю его вручную, он остается в порядке. Я подозреваю, что это связано с выполнением printf без надлежащего терминала / консоли для печати на нем.

Если printf не обработано, каково это будет?

Ответы [ 2 ]

0 голосов
/ 27 сентября 2011

Это зависит от используемой вами библиотеки stdio, большинство все равно попытается записать на консоль, поэтому ...

Вам следует перенаправить ваши STDOUT и STDERR на NULL или в файл, это должно быть очень просто,gcc 2.95 был очень стабильным, поэтому мы можем исключить любые проблемы.

0 голосов
/ 27 сентября 2011

Может ли быть так, что система пытается печатать на аппаратный последовательный порт (который действительно работает медленно), и когда вместо него вы подключаете telnet вместо TCP-порта?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...