Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | Next revisionBoth sides next revision |
msys2_mingw [2022/09/28 10:57] – [Консольные полноэкранные приложения] admin | msys2_mingw [2022/09/28 10:59] – [Консольные полноэкранные приложения] admin |
---|
- Терминал TTY. У терминала в UNIX имеется множество функций и атрибутов. Например, имеется API управления дисциплиной линии (всякие RTS/CTS), различные режимы ввода (с эхо или без) [[https://man7.org/linux/man-pages/man3/termios.3.html|termio/termios]], возможность переключения raw/cooked режимов, а также специальные функции управления заданиями (job control, например обработка CTRL-C, CTRL-Z) и т.д. Кроме того, у каждой разновидности терминала имеется база, описывающая его систему команд, в основном через ESC-последовательности (termcap/terminfo). | - Терминал TTY. У терминала в UNIX имеется множество функций и атрибутов. Например, имеется API управления дисциплиной линии (всякие RTS/CTS), различные режимы ввода (с эхо или без) [[https://man7.org/linux/man-pages/man3/termios.3.html|termio/termios]], возможность переключения raw/cooked режимов, а также специальные функции управления заданиями (job control, например обработка CTRL-C, CTRL-Z) и т.д. Кроме того, у каждой разновидности терминала имеется база, описывающая его систему команд, в основном через ESC-последовательности (termcap/terminfo). |
| |
На Windows совершенно другая идеология управления консолью (WinAPI Console). (Пример: [[https://eax.me/winapi-console-app/|Пишем простое консольное приложение на чистом WinAPI]]). Поэтому и возникает необходимость в эмуляторе терминала и промежуточной библиотеке типа ''msys-2.0.dll'' или ''cygwin.dll'', которая имитирует (с разной степенью успешности) поведение UNIX системы. Тем или иным способом в оболочках типа **MSYS2** и **CYGWIN** эта проблема решена. Но с "автономными" консольными Windows приложениями неколько сложнее. На это накладывается взаимодействие c ''MSVCRT.DLL'', которая имитирует файловые потоки STDIN/STDOUT/STDERR и также вносит свои особенности. | На Windows - совершенно другая идеология управления консолью (WinAPI Console). (Пример: [[https://eax.me/winapi-console-app/|Пишем простое консольное приложение на чистом WinAPI]]). Поэтому и возникает необходимость в эмуляторе терминала и промежуточной библиотеке типа ''msys-2.0.dll'' или ''cygwin.dll'', которая имитирует (с разной степенью успешности) поведение UNIX системы. Тем или иным способом в оболочках типа **MSYS2** и **CYGWIN** эта проблема решена. Но с "автономными" консольными Windows приложениями неколько сложнее. На это накладывается взаимодействие c ''MSVCRT.DLL'', которая имитирует файловые потоки STDIN/STDOUT/STDERR и также вносит свои особенности. |
| |
Как же быть ? | Как же быть ? |