Exempelbibliotek

Vi har redan använt ett eller flera bibliotek i alla våra program. Bl.a. det normala C-biblioteket samt biblioteket som innehåller diverse C++-funktionalitet. Dessa används totalt automatiskt av kompilatorn vid kompileringsskedet och operativsystemet vid körningskedet. Det finns andra bibliotek som innehåller olika funktionalitet man kan vara intresserad av att använda.

Matematikbibliotek

Många program behöver i något skede funktioner som t.ex. sin(), cos() eller sqrt() (kvadratrot). Dessa finns normalt i biblioteket math. Detta är vanligen det första externa bibliotek man stöter på då man börjat programmera C eller C++. Funktionerna i detta bibliotek är i de flesta fall definierade i header-filen math.h. För att kompilatorn under Unix skall använda detta bibliotek måste man ge en explicit parameter som säger att matematikbiblioteket skall användas. Denna parameter är -lm. I grafiska programmeringsmiljöer brukar detta bibliotek länkas in automatiskt om det behövs. Se mera info i avsnittet Länkning av program i Kapitel 13.

X11 och Windows

Både X11 och Windows har ett antal olika bibliotek som tillhandahåller funktioner så att program kan bygga grafiska gränssnitt. Under Unix finns det ett antal olika bibliotek eller biblioteksamlingar såsom t.ex. KDE, Qt och Gtk. Båda dessa bibliotek bygger i sin tur på biblioteket X11, som innehåller lågnivåfunktioner för hantering av GUI:s (graphical user interface). Användingen av detta bibliotek faller utanför denna kurs omfång, men det finns rikligt med material på nätet.

OpenGL

OpenGL är ett populärt bibliotek under både Unix och Windows för att skapa 3D-grafik. Ett stort antal funktioner finns för att skapa olika former av 3D-modeller för t.ex. visualisering, spel eller användargränssnitt. Den version som används under t.ex. Linux heter dock Mesa, men innehåller exakt samma funktioner som den normala OpenGL. Användingen av detta biblotek är även utanför denna kurs omfång. Även här finns rikligt med material på nätet, både för nybörjare och avancerade programmerare.