Как стать автором
Обновить

Комментарии 10

Имхо, лучший обзор ncurses был тут https://tldp.org/HOWTO/NCURSES-Programming-HOWTO/

upd:

Но за ссылку https://bsdworks.codeberg.page/c_programming/058_c_programming_ix/ спасибо, это хорошее дополнение к той, что привёл я. В tldp больше справка, а в bsdworks есть ещё и практика

Добавил

Ncurses («new curses») — библиотека, написанная на языках Си и Ада, предназначенная для управления вводом-выводом на терминал....

Изначально была библиотека под названием curses (название произошло от сокращения «cursor optimization»).

ncurses — это клон оригинальной curses из System V Release 4.0 (SVr4), которая в свою очередь была улучшением классического curses

NCURSES (1993) — переписанный старый несвободный терминал CURSES, который был сделан для разработки игры Rogue (1980).

От автора статьи "Turbo Pascal: 40 лет развития", где 5!!! раз повторяется определение, что такое ЯП Паскаль.

Ну с кем не бывает, я думаю, что так можно раскрыть всю его суть

Просто конент-ферма сломалась тяжело писать по несколько постов в день и ещё их вычитывать...

Прикольно. Когда-то давно, еще будучи студентом, я сам пытался сделать универсальный текстовый интерфейс. Просто нравилась эта тема, нравилось как выглядят текстовые окна и менюшки:) Применял и в разных лабах/курсовиках, и в каких-то своих программах, да и просто сам процесс разработки нравился. Про ncurses тогда не знал, т.к. это линуксовая библиотека, а тогда использовал DOS и ранние Windows.
А сейчас наверное подобная либа, но уже с объектно-ориентированным интерфейсом, пожалуй была бы полезна в Go, учитывая что в основном он применяется на серверах, а там как раз консоли с доступом по ssh.

В Ncurses нет виджетов, чтобы начать сразу программировать TUI, т.е. все эти окошечки с бордюрами, прокрутки, всё это самому придётся отрисосывать и события обрабатывать.

Толи дело был Turbo Vision. Сегодня есть современный клон https://github.com/magiblot/tvision

На современном C++ я бы попробовал писать TUI на чём-то, типа https://github.com/ArthurSonzogni/FTXUI

Что нового Вы увидели в этом примере?
getmaxyx(stdscr, row, col);

Что до сих пор, в 2024 году, в глобальную область видимости валятся загадочные переменные и дефайны типа stdscr.

#define stdscr NCURSES_PUBLIC_VAR(stdscr())

Как в таких условиях вести разработку?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории