Ncurses - Ncurses

ncurses
ncurses tabanlı menuconfig
ncurses tabanlı menuconfig
Geliştirici (ler)GNU Projesi
İlk sürüm1993; 27 yıl önce (1993)
Kararlı sürüm
6.2 / 12 Şubat 2020; 9 ay önce (2020-02-12)
Depo Bunu Vikiveri'de düzenleyin
YazılmışC
İşletim sistemiPOSIX
TürWidget araç seti
LisansX11 Lisansı[1]
İnternet sitesigörünmez ada.ağ/ ncurses/ Bunu Vikiveri'de düzenleyin

ncurses (yeni lanetler) bir programlama kütüphanesi sağlamak uygulama programlama Arayüzü (API) programcının yazmasına izin veren metin tabanlı kullanıcı arayüzleri terminalden bağımsız bir şekilde. Geliştirmek için bir araç setidir "GUI -sevmek" Uygulama yazılımı altında çalışan bağlantı emülatörü. Ayrıca, ekran değişikliklerini optimize ederek gecikme uzaktan kumanda kullanılırken deneyimli kabuklar.

Çeşitli programlama dillerinde ncurses için bağlamalar vardır. Ada,[2] Python,[3] Gambas,[4] Yakut,[5] PHP,[6] JavaScript,[7] ve Perl.[8]

Tarih

Yeni sürüm olarak ncurses, ücretsiz yazılım System V Release 4.0 (SVr4) öykünmesi küfürler ki bu, durdurulan 4.4 BSD küfürlerinin kendisi üzerinde bir gelişmeydi.[9] XSI Curses standardı X / Açık açıkça ve yakından modellenmiştir Sistem V.

küfürler

İlk curses kütüphanesi, Berkeley'deki California Üniversitesi'nde BSD işletim sistemi, desteklemek için 1980 civarında Haydut, metin tabanlı bir macera oyunu. Başlangıçta termcap gibi diğer programlarda kullanılan kitaplık vi editör.[9]

BSD curses kütüphanesinin başarısı teşvik edildi Bell Laboratuvarları System V Release 2'de gelişmiş bir curses kitaplığı yayınlamak için Unix sistemleri. Bu kütüphane daha güçlüydü ve termcap kullanmak yerine terminfo. Ancak, nedeniyle AT&T kaynak-kod dağıtımı ile ilgili politika, bu geliştirilmiş curses kitaplığı BSD topluluğunda pek kabul görmedi.[9]

pcurses

1982 civarı, Pavel Curtis üzerinde çalışmaya başladı ücretsiz yazılım Bell Labs lanetlerinin klonu pcurses1986 yılına kadar çeşitli kişilerce sürdürülmüştür.[10]

ncurses

Zeyd Ben-Halim 1991 sonlarında geliştirme çabasını devraldığında pcurses kitaplığı daha da geliştirildi.[9][10][11] Yeni kütüphane, ilk büyük sürüm 1.8.1 olarak Kasım 1993'te ncurses olarak yayınlandı. 1.8.8 (M1995) sürümü üzerinden yapılan sonraki çalışma, Eric S. Raymond Juergen Pfeifer tarafından yazılan form ve menü kitaplıklarını ekleyen.[12] 1996 yılından bu yana, Thomas E. Dickey.[10]

Çoğu ncurses çağrısı, eski lanetlerle kolayca ilişkilendirilebilir. System V curses uygulamaları, BSD curses programlarını yalnızca bir yeniden derleme.[13] Ancak, eski küfürlerde herhangi bir karşılık bulunmadığından, uçbirim yeniden boyutlandırmanın işlenmesi gibi birkaç alan sorunludur.

Terminal veritabanı

Ncurses her ikisini de kullanabilir terminfo (genişletilebilir verilerle) veya termcap. Diğer uygulamaları küfürler genellikle kullan terminfo; azınlık kullanımı termcap. Birkaç (mytinfo daha eski bir istisnaydı[14]) ikisini de kullan.

Lisans

Ncurses, GNU Projesi. Bu, altında dağıtılmayan birkaç GNU dosyasından biridir. GNU GPL veya LGPL; altında dağıtılır izin verilen özgür yazılım lisansı, benzer MIT Lisansı.[15] Bu, ile yapılan anlaşmadan kaynaklanmaktadır. Özgür Yazılım Vakfı geliştiriciler telif haklarını verdikleri sırada.

FSF'ye hakların devredilmesi için anlaşma yapıldığında, şunu belirten bir madde vardı:[15]

Vakıf, Paketin veya "Pakete dayalı" herhangi bir çalışmanın, Vakfın veya temsilcilerinin veya vekillerinin kontrolü altında gerçekleştirilen tüm dağıtımının, şartların geçerli olduğu çalışma ve bu şartların doğru bir şekilde bildirilmesi, çalışmanın kopyalarının aynı şartlar altında herhangi birine yeniden dağıtılması için.

Bakımcı Thomas E. Dickey'e göre, bu, kütüphanelere bağlanabilecek programlara kısıtlamalar getireceğinden, herhangi bir sürümde GPL'ye yeniden lisans vermeyi engeller.[15]

Ncurses kullanan programlar

Ncurses kullanan yüzlerce program var.[16][17] Bazıları, örneğin GNU Ekranı ve w3m, sadece termcap arayüz ve ekran yönetimini kendileri gerçekleştirin. Gibi diğerleri GNU Midnight Commander ve YaST curses programlama arayüzünü kullanın.

Ayrıca bakınız

Referanslar

  1. ^ "NCURSES - Lisanslama". Alındı 9 Temmuz 2013.
  2. ^ Ada95 ncurses için bağlama
  3. ^ Python ile Curses Programlama - Python belgeleri
  4. ^ gb.ncurses - Gambas Wiki
  5. ^ ncurses Ruby - RubyGems.org
  6. ^ Ncurses işlevleri - PHP Kılavuzu
  7. ^ nc eklentisi: SpiderApe için ncurses bağlamaları
  8. ^ Curses :: UI - Curses tabanlı OO kullanıcı arabirimi çerçevesi
  9. ^ a b c d Eric S. Raymond (Eylül 1995). "ncurses: Linux için Taşınabilir Ekran İşleme". Linux Journal.
  10. ^ a b c Thomas E. Dickey (Aralık 1996). "NCURSES - Yeni Lanetler".
  11. ^ BENİOKU ncurses 1.8.1 dosyasındaki "v0.1 31 Temmuz 1992" ve "v1.8.1 5 Kasım 1993" durumları, HABER (değişiklik günlüğü) dosyası
  12. ^ NCURSES - Sıkça Sorulan Sorular (SSS): NCURSES'i kim yazdı?
  13. ^ Ncurses Internals için bir Hacker Kılavuzu
  14. ^ Sydney S. Weinstein (Nisan 1993). "Ağlarda". C / C ++ Kullanıcı Dergisi. Arşivlenen orijinal 2014-08-11 tarihinde. Alındı 2017-09-15.
  15. ^ a b c NCURSES - Sık Sorulan Sorular (SSS): GPL'li mi?
  16. ^ "Arama sonuçları: freshmeat.net'te + ncurses". Arşivlenen orijinal 18 Şubat 2012. Alındı 2013-05-10.
  17. ^ "Ncurses etiketli projeler'". ohloh.

Dış bağlantılar