Терминальные буферы Cygwin STDOUT

Я использую программное обеспечение Altera Quartus, которое поставляется с собственным дистрибутивом Cygwin и тупым терминалом, который, в соответствии с ярлыком, размещенным в моем меню "Пуск" Altera, запускается с использованием

cmd.exe /c "c:\altera\15.1\nios2eds\NiosII Command Shell.bat"

где этот пакетный файл настраивает среду для Quartus и запускает bash. Когда я использую это окно для запуска инструментов Altera, их выходные данные выводятся немедленно (без буферизации) и в цвете.

У меня также есть своя собственная установка Cygwin с Xserver и терминалами (т.е. lxterminal, mrxvt, xfce4-терминал и т. Д.). Я адаптировал командный файл Altera для настройки среды Altera в моем Cygwin, и я могу запустить все инструменты Altera. Однако, когда я запускаю эти инструменты, их вывод не является ни цветным (не страшно, но удивительно), и буферизируется до конца выполнения, когда все выходные данные появляются одновременно.

У кого-нибудь есть идеи как обойти эту буферизацию?

0 ответов

Почему-то ваши инструменты думают, что вывод - это не терминал, а файл. Для файлов сам инструмент создаст буфер (4K в Linux). Для терминалов вывод обычно буферизуется строкой (т. Е. Выходной код будет собирать все символы до тех пор, пока не будет обнаружен конец строки, а затем распечатывает их все сразу).

Чтобы помочь вам в дальнейшем, нам нужна дополнительная информация о том, как вы "адаптировали пакетный файл Altera для настройки среды Altera в моем Cygwin".

Другие вопросы по тегам