Терминальные буферы 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".