Jump to content

ncurses

(Перенаправлено с NCurses )
ncurses
Разработчик(и) Томас Э. Дики, Юрген Пфайфер, Эрик С. Рэймонд, Александр В. Лукьянов, Филипп Блен, Свен Вердолеге, Николя Буленгес и др. [ 1 ] [ 2 ]
Первоначальный выпуск 1993 год ; 31 год назад ( 1993 )
Стабильная версия
6.5 [ 3 ] / 27 апреля 2024 г .; 4 месяца назад ( 27.04.2024 )
Репозиторий
Написано в С
Операционная система ПОСИКС
Тип Набор инструментов для виджетов
Лицензия Х11 [ 2 ]
Веб-сайт невидимый остров .сеть /ncurses / Отредактируйте это в Викиданных

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

ncurses — это с открытым исходным кодом System V Release 4.0 (SVr4) бесплатная программная эмуляция проклятий .

Существуют привязки для ncurses к различным языкам программирования, включая Ada , [ 4 ] Питон , [ 5 ] Креветки , [ 6 ] Руби , [ 7 ] PHP , [ 8 ] JavaScript , [ 9 ] Перл , [ 10 ] и Объект REXX (ooRexx). [ 11 ]

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

проклятия

[ редактировать ]

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

Успех библиотеки проклятий BSD побудил Bell Labs выпустить расширенную библиотеку проклятий в своих системах Unix System V Release 2 . Эта библиотека была более мощной и вместо использования termcap использовала terminfo . Однако из-за политики AT&T в отношении распространения исходного кода эта улучшенная библиотека проклятий не получила большого признания в сообществе BSD. [ 12 ]

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

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

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

База данных терминала

[ редактировать ]

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

Лицензия

[ редактировать ]

ncurses является частью проекта GNU Project , но не распространяется под лицензией GNU General Public License (GPL) или GNU Lesser General Public License (LGPL). Вместо этого оно распространяется под разрешительной лицензией свободного программного обеспечения , то есть лицензией MIT . [ 17 ] Это связано с соглашением, заключенным с Фондом свободного программного обеспечения на момент передачи разработчиками своих авторских прав.

Когда было заключено соглашение о передаче прав ФФС, там был пункт, в котором говорилось: [ 17 ]

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

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

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

[ редактировать ]

Сотни программ используют ncurses. [ 18 ] [ 19 ] Некоторые, такие как GNU Screen и w3m , используют только интерфейс termcap и сами выполняют управление экраном. Другие, такие как GNU Midnight Commander и Yet Another Setup Tool ( YaST ), используют интерфейс программирования Curs.

См. также

[ редактировать ]
  1. ^ Перейти обратно: а б «NCURSES — Часто задаваемые вопросы (FAQ): Кто написал NCURSES?» .
  2. ^ Перейти обратно: а б «НКУРСЕС – Лицензирование» . Проверено 9 июля 2013 г.
  3. ^ "ncurses 6.5" . Проверено 27 апреля 2024 г.
  4. ^ «Привязка Ada95 для ncurses» .
  5. ^ «Программирование проклятий на Python — документация Python» .
  6. ^ «gb.ncurses — Изображения Wiki» .
  7. ^ "ncurses Ruby - RubyGems.org" .
  8. ^ «Функции Ncurses — Руководство по PHP» . Архивировано из оригинала 28 марта 2021 г. Проверено 4 февраля 2020 г.
  9. ^ «Плагин nc: привязки ncurses для SpiderApe» .
  10. ^ «Curses::UI — объектно-ориентированная структура пользовательского интерфейса на основе проклятий» .
  11. ^ Документация ooRexx 5.0.0: Справочник по библиотеке классов nCurses (PDF) . Языковая ассоциация рексов. 2022.
  12. ^ Перейти обратно: а б с д Раймонд, Эрик С. (сентябрь 1995 г.). «ncurses: портативная обработка экрана для Linux» . Linux-журнал .
  13. ^ Перейти обратно: а б с Дики, Томас Э. (декабрь 1996 г.). «НКУРСЫ — Новые проклятия» .
  14. ^ В файле README в ncurses 1.8.1 указано «v0.1 31 июля 1992 г.» и «v1.8.1 5 ноября 1993 г.», что соответствует файлу NEWS (список изменений).
  15. ^ «Руководство хакера по внутреннему устройству Ncurses» .
  16. ^ Вайнштейн, Сидней С. (апрель 1993 г.). «В сетях» . Журнал пользователей C/C++. Архивировано из оригинала 11 августа 2014 г. Проверено 15 сентября 2017 г.
  17. ^ Перейти обратно: а б с «NCURSES — Часто задаваемые вопросы (FAQ): Это GPL?» .
  18. ^ «Результаты поиска: +ncurses на Freshmeat.net» . Архивировано из оригинала 18 февраля 2012 года . Проверено 10 мая 2013 г.
  19. ^ «Проекты с тегом 'ncurses' » . охлох.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 70e20a26109e88d4787ed6b2ad566ddf__1719440160
URL1:https://arc.ask3.ru/arc/aa/70/df/70e20a26109e88d4787ed6b2ad566ddf.html
Заголовок, (Title) документа по адресу, URL1:
ncurses - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)