ncurses - ncurses

редактировать
ncurses
ncurses- на основе menuconfig ncurses-based menuconfig
Разработчик (и) Проект GNU
Первоначальный выпуск1993; 27 лет назад (1993 г.)
Стабильный выпуск 6.2 / 12 февраля 2020 г.; 8 месяцев назад (12.02.2020)
Репозиторий Отредактируйте это в Wikidata
Написано наC
Операционной системе POSIX
Тип Набор инструментов для виджетов
Лицензия Лицензия X11
Веб-сайтinvisible-island.net / ncurses / Отредактируйте это в Wikidata

ncurses (новые проклятия) библиотека программирования, обеспечивающая интерфейс прикладного программирования (API), который позволяет программисту писать текстовые пользовательские интерфейсы независимо от терминала. Это набор инструментов для разработки «GUI -подобного» прикладного программного обеспечения, которое работает под эмулятором терминала. Он также оптимизирует смену экрана, чтобы уменьшить задержку, возникающую при использовании удаленных оболочек.

. Для ncurses есть привязки на различных языках программирования, включая Ada, Python, Gambas, Ruby, PHP, JavaScript и Perl.

Содержание
  • 1 История
    • 1.1 curses
    • 1.2 pcurses
    • 1.3 ncurses
  • 2 Терминальная база данных
  • 3 Лицензия
  • 4 Программы, использующие ncurses
  • 5 См. Также
  • 6 Ссылки
  • 7 Внешние ссылки
История

Как новая версия, ncurses представляет собой бесплатную эмуляцию System V Release 4.0 (SVr4) curses, которая Сама по себе была улучшением по сравнению с более ранними версиями 4.4 BSD curses. Стандарт XSI Curses, выпущенный X / Open, явно и подробно смоделирован на основе System V.

curses

Первая библиотека curses была разработана в Калифорнийском университете в Беркли, для операционной системы BSD, около 1980 года для поддержки Rogue, текстовой приключенческой игры. Первоначально он использовал библиотеку termcap, которая использовалась в других программах, таких как vi editor.

Успех библиотеки BSD curses подсказал Bell Лаборатория по выпуску расширенной библиотеки curses в своих системах System V Release 2 Unix. Эта библиотека была более мощной и вместо termcap использовала terminfo. Однако из-за политики ATT в отношении распространения исходного кода эта улучшенная библиотека curses не получила широкого распространения в сообществе BSD.

pcurses

Примерно в 1982 г. Павел Кертис начал работу над бесплатным клоном curses Bell Labs, названным pcurses, который поддерживался разными людьми до 1986 года.

ncurses

Библиотека pcurses была дополнительно улучшена, когда Зейд Бен-Халим взял на себя разработку в конце 1991 года. Новая библиотека была выпущена как ncurses в ноябре 1993 года с версией 1.8.1 в качестве первого основного выпуска. Последующая работа, вплоть до версии 1.8.8 (M1995), проводилась Эриком С. Реймондом, который добавил библиотеки форм и меню, написанные Юргеном Пфайфером. С 1996 года его поддерживает Томас Э. Дики..

Большинство вызовов ncurses можно легко перенести на старые curses. Реализации curses System V могут поддерживать программы curses BSD с помощью только перекомпиляции. Однако некоторые области являются проблематичными, например, обработка изменения размера терминала, поскольку в старых версиях curses нет аналогов.

Терминальная база данных

Ncurses может использовать либо terminfo (с расширяемыми данными), либо termcap. Другие реализации curses обычно используют terminfo ; меньшинство использует termcap. Немногие (mytinfo был более старым исключением) используют оба.

Лицензия

Ncurses является частью проекта GNU. Это один из немногих файлов GNU, не распространяемых под GNU GPL или LGPL ; он распространяется под разрешающей лицензией свободного программного обеспечения, аналогичной лицензии MIT. Это связано с соглашением, заключенным с Free Software Foundation в то время, когда разработчики передали свои авторские права.

Когда было заключено соглашение о передаче прав FSF, был пункт, который гласил:

Фонд обещает, что все распространение Пакета или любой работы "основано на Пакете", которая осуществляется под контролем Фонда, его агентов или правопреемников, должна осуществляться на условиях, которые прямо и постоянно разрешают любому, кто владеет копией работы, к которой применяются эти условия, и имеет точное уведомление об этих условиях, распространять копии работу кому угодно на тех же условиях.

По словам сопровождающего Томаса Э. Дики, это исключает повторное лицензирование GPL в любой версии, так как это накладывает ограничения на программы, которые смогут связываться с библиотеками.

Программы, использующие ncurses

Существуют сотни программ, использующих ncurses. Некоторые из них, такие как GNU Screen и w3m, используют только интерфейс termcap и сами выполняют управление экраном. Другие, такие как GNU Midnight Commander и YaST, используют программный интерфейс curses.

См. Также
  • Портал бесплатного программного обеспечения с открытым исходным кодом
Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-31 13:13:37
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте