Knižnica ncurses

Do tohto článku budem postupne pridávať obsah.

Knižnica ncurses

Multiplatformová knižnica na prácu s terminálom/konzolou. Pomocou tejto knižnice sa dá jednoducho hýbať kurzorom, dajú sa vytvárať okná, 2D grafika, používať farby, ovládať správanie myši, reagovať na stlačenie kláves a podobne. Vaša aplikácia sa tak nemusí starať o technické (veľakrát aj komplikované) pozadie vášho terminálu - to rieši práve táto knižnica. Používateľ využíva už len jej jednoduché API rozhranie na to, aby vytvoril svoju aplikáciu.

Používanie tejto knižnice pridá do vašej aplikácie nové možnosti a zjednoduší programovanie rôznych interaktívných častí ako sú menu, vstup od používateľa, kreslenie grafiky (napríklad pre zadania, ktoré sa týkajú programovania rôznych hier), možnosť programu reagovať na stlačenie rôznych kláves a pod.

Viac o knižnici na Wikipedii.

1. Získanie a inštalácia knižnice

  • Linux a macOS: dá sa získať cez správcu balíkov (package manager) ako napr. apt, aptitude, pacman, yum, brew (hlavne pre macOS). Po inštalácii cez správcu balíkov môžete ncurses hneď používať.
  • Windows: verzia tejto knižnice pre Windows má názov PDCurses a dá sa stiahnuť z Github repozitára (autor William McBrine). Knižnica sa stiahne vo forme zdrojových súborov, ktoré je nutné najprv skompilovať pomocou priloženého Makefile. Po úspešnej kompilácii vznikne súbor .lib (statická knižnica, dá sa nakonfigurovať aj vytvorenie dynamickej knižnice).

2. Linkovanie knižnice k C programu

todo

Visual Studio

todo

Priamo v termináli pomocou GCC

todo

3. Práca s knižnicou (tutoriál)

V tejto sekcii priblížim základy programovania s knižnicou ncurses. Pri tvorbe tohto materiálu som vo veľkej miere využíval informácie z all-in-one príručky NCURSES Programming HOWTO.

Obsah tohto tutoriálu:

  1. Inicializácia a "Hello world" program
  2. Funkcie na výstup
  3. Funkcie na vstup
  4. Okná
  5. Farby
  6. Klávesnica
  7. Myš
  8. Obrazovka
  9. Ďalšie moduly knižnice pre pokročilých: panely, menu, formuláre

4. Príklady

todo

Zdroje