Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |
msys2_mingw [2025/07/10 15:21] – admin | msys2_mingw [2025/07/10 15:36] (current) – admin |
---|
**ПРИМЕЧАНИЕ**: Как было написано выше, управление консолью в Windows устроено совсем иначе, чем в UNIX, так что не обходится без глюков. Библиотека ncurses реализована таким образом, что она "чувствует", под какой консолью она работает и включает "магию". Если мы запускаем одну и ту же прогрмамму под UNIX-подобной консолью, она начинает управлять экраном через ESC-последовательности, а если из CMD или PowerShell - через API Windows Console. Но фокус в том, что для ESC-последовательностей нужна база терминалов, а она не всегда доступна. Это дает неприятный результат: программа на ncurses неадекватно работает из "оболочки" **MSYS2 Mingw64** в которой мы ее только что откомпилировали. А из обычных CMD или PowerShell работает нормально. Как это обойти ? Если нужна программа для среды **MSYS2** - скомпилируйте ее в оболочке **MSYS2 MSYS** с ее библиотеками, а если "чистая виндовая" - в среде **MSYS2 Mingw64**. | **ПРИМЕЧАНИЕ**: Как было написано выше, управление консолью в Windows устроено совсем иначе, чем в UNIX, так что не обходится без глюков. Библиотека ncurses реализована таким образом, что она "чувствует", под какой консолью она работает и включает "магию". Если мы запускаем одну и ту же прогрмамму под UNIX-подобной консолью, она начинает управлять экраном через ESC-последовательности, а если из CMD или PowerShell - через API Windows Console. Но фокус в том, что для ESC-последовательностей нужна база терминалов, а она не всегда доступна. Это дает неприятный результат: программа на ncurses неадекватно работает из "оболочки" **MSYS2 Mingw64** в которой мы ее только что откомпилировали. А из обычных CMD или PowerShell работает нормально. Как это обойти ? Если нужна программа для среды **MSYS2** - скомпилируйте ее в оболочке **MSYS2 MSYS** с ее библиотеками, а если "чистая виндовая" - в среде **MSYS2 Mingw64**. |
| |
Давайте создадим простую ncurses программу для Windows (конечно же статическую): | Давайте создадим простую ncurses программу для консоли Windows (конечно же статическую): |
| |
#include <curses.h> | #include <curses.h> |