[Logo der Universität Bayreuth]
Universität Bayreuth

Mathematisches
Institut



 Einleitung

 Erste Schritte

 Mail und News

 Drucken

 KDE

 LaTeX/TeX

 Linksammlung

 Linuxtools

 Netzwerk

 Programmieren

 Windows

 X Window

 Anträge

 Kontakt

Programmieren <-

ergänzende Libraries zu C/C++

Hier wird eine Übersicht über einige wichtige Libraries gegeben, die C/C++ ergänzen.
[arrow down]Libraries des GCC/von Linux
[arrow down]Libraries zur Cursorsteuerung
[arrow down]GUI-Libraries
[transparenter Pfeil][arrow down]platformabhängige GUI-Libraries
[transparenter Pfeil][arrow down]platformübergreifende GUI-Libraries
[arrow down]Grafik-Libraries
<-Wo geht's zurück???
top top

Libraries des GCC/von Linux

glibc -> (extern) Homepage von (g)libc (GNU C Library) (GNU)
-> (extern) Dokumentation zu glibc (GNU C Library 2.2.5) (GNU)
-> (extern) Dokumentation zu glibc (GNU C Library 2.0.6)  
-> (extern) Glibc 2 HOWTO (www.tldp.org)
libg++ -> (extern) Dokumentation zu libg++ (GNU C++ Library) (Doug Lea)
libio (Teil von libstdc++) -> (extern) Dokumentation zu libio (GNU C++ Iostream Library) (Per Bothner, Cygnus Support)
libstdc++ -> (extern) Homepage von libstdc++ (GNU Standard C++ Library) (GNU)
-> (extern) Dokumentation zu libstdc++ (GNU)
-> (extern) libstdc++ FAQ (GNU)
STL (Standard Template Library) -> (extern) STL Programmer's Guide (SGI, HP)
-> (extern) STL Tutorial Resources at Rensselaer (David R. Musser, Gillmer J. Derge, and Atul Saini)
Informationen zum Buch "STL Tutorial and Reference Guide, Second Edition: C++ Programming with the Standard Template Library" (Addison-Wesley)
STLport -> (extern) Dokumentation zu STLport (STLport)

top top

Libraries zur Cursorsteuerung

Ein Bildschirmlöschen bei (normalen) Anwendungen (ohne Fenster) ist in C/C++ nicht standardisiert. Ebenso nicht wie z.B. ein Springen zu einer Cursorposition in einer bestimmten Zeile/Spalte des Shellfensters. Beides muss man unter Unix mit der Curses-Bibliothek lösen. Die Library "NCurses" ist dabei eine Weiterentwicklung der "Curses"-Library.

NCurses -> (extern) NCurses Homepage (GNU)
-> (extern) NCurses Programming HOWTO (Pradeep Padala)

top top

GUI-Libraries

Der Aufbau von GUIs (GUI = graphical user interface, d.h. grafische Benutzeroberfläche) ist in C/C++ nicht standardisiert. Die meisten (kommerziellen) Windows-Compiler bieten keine Unterstützung platformunabhängiger GUI-Bibliotheken, sondern verwenden meist die MFC. Unter Linux sind die grundlegenden Bibliotheken die von X Window bzw. von Motif(-Varianten).

platformabhängige GUI-Libraries

MFC (Microsoft Foundation Classes) -> (extern) MFC-Homepage alternativ: MFC-Homepage
(Microsoft)
MFC ist die von Microsoft benutzte Library für GUIs, die in allen Windows-Betriebssystemen verwendet wird.
-> (extern) Dokumentationen:
About the MFC, MFC Class Library Reference
MFC Class Library Overview
(Microsoft)
-> (extern) MFC Technical Notes (Microsoft)
-> (extern) Visual C++/MFC Tutorials (Microsoft)
-> (extern) MFC-Tutorials (DevCentral)
OWL (Object Windows Library) -> (extern) OWL Tutorial (Borland)
OWL ist/war eine objektorientierte GUI-Library von Borland, die vom Borland C++-Compiler unterstützt wurde.
-> (extern) OWL NExt (Yuri Bidus)
Weiterentwicklung der OWL
-> (extern) OWL HOW (Christopher Kohlhoff)
Informationen zur OWL
X Window -> (extern) X.Org-Homepage (X.Org Foundation)
X Window (kurz: X oder X11) ist die Standardumgebung unter Linux/Unix (auf dem dann die verschiedensten Desktops wie Gnome, KDE, CDE (CDE = Common Desktop Environment), ... aufsetzen). Es stellt auch das X Protokoll für die Client-Server-Kommunikation zwischen Anwendung (X Client) und Anzeige (X Server) dar.
X Window System ist ein Handelszeichen von The Open Group.
-> (extern) Library: X Athena Widget Set (=Xaw):
Manualseiten
C Language Interface
(XFree86 Project, Inc. bzw. Hungry Programmers)
Xaw ist eine Library mit Widgets basierend auf der Xt-Library (Xt = X Toolkit Intrinsics).
-> (extern) Library: X Athena Widget 3D Set (Xaw3D) (XFree86 Project, Inc.)
Xaw3D ist eine Variante der Xaw-Library, die ein 3D-Aussehen der Xaw-Widgets realisiert. Autor: Kaleb S. Keithley
-> (extern) Library: X Athena Widget 95 Set (Xaw95) (XFree86 Project, Inc.)
Xaw95 ist eine Variante der Xaw-Library, die ein Aussehen der Xaw-Widgets wie bei Windows 95 realisiert.
Autor: Eddie Hiu-Fung, Lau; Download: ibiblio (früher: SunSITE der University of North Carolina - Chapel Hill), Gallery of Free Software Packages for Unix,
-> (extern) Library: Xlib (Hungry Programmers)
-> (extern) Library: Xmu (Hungry Programmers)
Xmu ist eine Sammlung nützlicher Funktionen, die für verschiedenste Anwendungen und Widgets gebraucht werden.
Die Xaw-Library (Athena Widgets) benötigen diese Library.
-> (extern) Library: X Toolkit (Xt = X Toolkit):
C Language Interface, Programming Manual
(Hungry Programmers)
-> (extern) X Window System User's Guide (Hungry Programmers)
-> (extern) X Window System Programmer's Guide (Hungry Programmers)
-> (extern) X Window Guide (Jeff Pitchers; Link vom Linux Documentation Archive, Karel Zak)
-> (extern) X FAQ (David Lewis)
-> (extern) Xt FAQ (X Toolkit Intrinsics) (Peter Ware)
-> (extern) X Widget FAQ
alternativ: X Widget FAQ
(John L. Cwikla)
-> (extern) X on Intel-based Unix FAQ (Steve Kotsopoulos)
-> (extern) Buchtipps zum X Window-System (Link vom Linux Documentation Archive, Karel Zak)
-> (extern) XFree86 (XFree86 Project, Inc.)
OpenSource-Implementierung des X Window-Systems für Unix/Linux, Mac OS X (über Darwin), ...
-> (extern) Broadway/Xweb Homepage (X.Org Foundation)
vgl. auch Broadway Plugin für Netscape
Motif -> (extern) Motif-Homepage (The Open Group)
Motif ist ein unter Unix-Workstations verbreitetes GUI-Toolkit und ist durch IEEE 1295 standardisiert. Es gibt mittlerweile auch weitgehende OpenSource-Implementierungen. CDE (CDE = Common Desktop Environment) verwendet Motif als Basis für sein GUI-Toolkit.
-> (extern) Motif 2.1 Data Sheet (The Open Group)
-> (extern) SCO Premier OSF/Motif 1.2.5:
User's Guide, Style Guide, Programmer's Guide, Programmer's Reference
(Princeton Plasma Physics Laboratory)
-> (extern) Library: Xmt (Motif Tools) (Jeffrey L. Franks)
Xmt ist eine Motif-Library, die von David Flanagan entwickelt wurde.
-> (extern) Motif Tutorial (Link vom Linux Documentation Archive, Karel Zak)
-> (extern) Motif FAQ (Ken Lee)
-> (extern) Open Group Desktop Technologies FAQ: Using Motif 2.0 & CDE (The Open Group)
-> (extern) Buchtipps der OpenGroup zu Motif (The Open Group)
-> (extern) Motifdeveloper (MW3)  
-> (extern) MotifZone Integrated Computer Solutions, Inc.
Open Motif -> (extern) Open Motif-Homepage (The Open Group)
Open Motif ist eine unter der Open Group Public License verbreitete Motif-Version (eine Art OpenSource-Lizenz) von "The Open Group", die dieselbe Funktionalität und Sourcecode hat wie Motif selbst.
-> (extern) Open Motif Data Sheet (The Open Group)
-> (extern) Open Motif FAQ (The Open Group)
-> (extern) Archive der Open Motif-Mailinglisten (The Open Group)
LessTif -> (extern) LessTif-Homepage (Hungry Programmers)
LessTif ist die unter der GNU Lesser General Public License (LGPL) veröffentlichte Variante von Motif. Es läuft unter Unix/Linux (und sogar mit Cygwin unter Windows).
-> (extern) LessTif-Dokumentation (Hungry Programmers)
-> (extern) LessTif FAQ (Hungry Programmers)

top top

platformübergreifende GUI-Libraries

Es gibt aber einige GUI-Bibliotheken, die platformunabhängiger sind wie z.B. GTK+ oder Qt.

GTK+ (The Gimp Toolkit) -> (extern) GTK+-Homepage
Gimp ist ein mächtiges Zeichenprogramm unter Linux (sogar Windows)
(GTK+-Team)
GTK+ ist ein platformunabhängiges Toolkit, um GUIs zu erzeugen und bietet eine Unterstützung der Programmiersprachen C/C++, Perl und Python. GTK+ ist freie Software und Teil des GNU-Projekts. Es basiert auf den Libraries GLib, GDK, Pango und ATK. Es ist wesentlicher Bestandteil des Gnome-Desktops.
-> (extern) GTK+ Reference Manual (Gnome Project, Gnome = ein freier Linux-Desktop)
-> (extern) GTK+ 2.0 Tutorial (Tony Gale, Ian Main und das GTK+-Team)
-> (extern) GTK+ FAQ (GTK+-Team)
-> (extern) GTK+ and GIMP for Windows (Tor Lillqvist)
-> (extern) GTK+ Dokumentationen und Buchtipps (GTK+-Team)
-> (extern) Library: ATK Reference Manual (Gnome Project)
in GTK+ integrierte und verwendete Library, die eine Reihe von Interfaces festlegt, die Unterstützung für Bildschirmlesegeräte, Vergrößerer und alternative Eingabegeräte bietet
-> (extern) Library: GDK Reference Manual (Gnome Project, GDK = GTK+ Drawing Kit, in GTK+ integrierte und verwendete Library, Wrapper für Xlib-Funktionsaufrufen)
-> (extern) Library: GLib Reference Manual (Gnome Project, GLib = Gimp Library, in GTK+ und GDK integrierte und verwendete low-level-Library, die nützliche Funktionen und Datentypen bereitstellt)
-> (extern) Library: Pango Reference Manual (Pango Project)
in GTK+ integrierte und verwendete Library, die das Layout und das Anzeigen von Text übernimmt (mit Betonung der Internationalisierung)
Qt -> (extern) Qt-Homepage (Trolltech)
Qt ist eine platformübergreifendes Framework für C++-Anwendungsentwicklung (GUIs und 2D- und 3D-Grafik); unterstützt werden momentan Windows-Varianten, Unix mit X11 (X Window), MacIntosh mit Mac OS X und embedded Linux. Qt bildet auch die Basis vom populärem KDE-Desktop für Linux. Qt ist in einer kommerziellen Version mit Support (genannt Qt Enterprise Edition bzw. Qt Professional Edition) und in einer freien Version z.B. unter Linux/X11 (genannt Qt Free Edition) verfügbar.
-> (extern) Qt-Dokumentation
(für die freien Versionen 3.3, 3.2 und 2.3)
(Trolltech)
-> (extern) FAQs zu Qt und weitere Trolltech-Produkte
(General FAQ, Simple FAQ, Technical FAQ, Qt/Free Edition FAQ)
(Trolltech)
-> (extern) Buchtipps zu Qt (Trolltech)
-> (extern) Qtforum (Qtforum-Team)
KDE (K Desktop Environment) -> (extern) KDE-Homepage (KDE e.V.)
KDE ist einerseits ein Open Source-Desktop für Linux und Unix-Workstations und bietet andererseits ein modernes Framework für die Anwendungsentwicklung unter Linux/Unix (GUIs, Internationalisierung, Netzwerktransparenz, DCOP Messaging als Protokoll für Client-Client-Kommunikation, KParts für Komponentenobjektmodell, KHTML als HTML 4.0-kompatible Rendering-Maschine, ...). Mit KDE wurden eine Vielzahl von KDE-Applikationen wie z.B. Konqueror, KOffice, KDevelop, ... entwickelt. KDE verwendet als Basis die Qt-Library.
-> (extern) KDE Library References and APIs (KDE e.V.)
-> (extern) KDE API References:
KDE 3.2 API, KDE 3.1 API, KDE 3.0 API, KDE 2.2 API
(KDE e.V.)
-> (extern) KDE Dokumentationen (KDE e.V.)
-> (extern) KDE Quick Start Guide (KDE e.V.)
-> (extern) KDE User's Guide (KDE e.V.)
-> (extern) KDE for System Administrators (KDE e.V.)
-> (extern) KDE-forum  
-> (extern) KDE FAQs (KDE e.V.)
-> (extern) Buchtipps zu KDE (KDE e.V.)
-> (extern) K Developer's Corner (KDE e.V.)
-> (extern) KDE Free Qt Foundation (KDE e.V.)
Zusammenschluss vom KDE-Projekt und Trolltech, um die freie Verfügbarkeit der Qt-Library zuzusichern
V C++ GUI Framework -> (extern) V Homepage (Object Central, Bruce E. Wampler)
V ist ein portables C++ GUI-Framework für Windows, X und OS/2. V ist Freeware und steht unter der GNU Lesser General Public License (LGPL). V wurde verwendet, um z.B. die V-IDE (IDE für G++ und Java) zu entwickeln.
weitere Download-Adresse: Sourceforge-Projekt "vgui"
-> (extern) V Refernce Manual (Object Central, Bruce E. Wampler)
-> (extern) V Tutorial (Object Central, Bruce E. Wampler)
-> (extern) V User Guide (Object Central, Bruce E. Wampler)
-> (extern) V FAQ (Object Central, Bruce E. Wampler)
-> (extern) V IDE (Object Central, Bruce E. Wampler)
IDE für GNU G++ und Java

top top

Grafik-Libraries

Die Erzeugung von 2D- oder 3D-Grafiken ist in C/C++ nicht standardisiert.

OpenGL -> (extern) OpenGL Homepage (OpenGL Architrecture Review Board, u.a. mit Apple, Dell, HP, IBM, Intel, Matrox, SGI, Sun)
OpenGL (aktuelle Version) ist eine sehr verbreitete 2D-/3D-Grafiklibrary, die in vielen Grafikkarten sogar hardwarebeschleunigt unterstützt wird. OpenGL wird unterstützt von Windows-Betriebssystemen, Apple Mac OS und X Window-Systemen unter Unix SGI stellt eine Open Source-Beispielimplementierung von OpenGL bereit (vgl. die OpenGL Sample Implementation FAQ).
-> (extern) OpenGL & Utility Library Spezifikationen (OpenGL Architrecture Review Board)
inkl. OpenGL 1.1-1.5, GLUT 3, GLX, GLU
-> (extern) OpenGL "Bluebook" (OpenGL 1.0 Reference Manual) (OpenGL Architrecture Review Board)
Library, die die Interaktion von X Window und OpenGL gewärleistet und die OpenGL für Remote Rendering mit dem X Protokoll realisiert
-> (extern) Library: GLU (OpenGL Utility Library) (OpenGL Architrecture Review Board)
Library, die u.a. Texturen von einem Ausgangsbild herstellt, Bildschirmkoordinaten umrechnet und quadratische Oberflächen und NURBS zeichnen kann
-> (extern) Library: GLUT (OpenGL Utility Toolkit) (OpenGL Architrecture Review Board)
Library, die ein platformunabhängiges Toolkit realisiert, um OpenGL-Programme zu schreiben (vgl. GLUT 3 API)
Library unterstützt C/C++, FORTRAN und Ada sowie Unix (vorcompilierte Library erhältlich für SGI, Solaris und Windows)
-> (extern) Library: GLX (OpenGL Unix Implementation) (OpenGL Architrecture Review Board)
Library, die die Interaktion von X Window und OpenGL gewärleistet und die OpenGL für Remote Rendering mit dem X Protokoll realisiert
SGI hat eine OpenSource-Version von GLX entwickelt.
-> (extern) OpenGL Datasheet (SGI)
-> (extern) Dokumentation zu OpenGL (OpenGL Architrecture Review Board)
-> (extern) OpenGL FAQs für Entwickler:
(Getting Started FAQ, Technical FAQ, GLUT FAQ)
(OpenGL Architrecture Review Board)
-> (extern) SGI OpenGL FAQ (SGI)
-> (extern) OpenGL Tutorial (Link vom Linux Documentation Archive, Karel Zak)
-> (extern) Buchtipps zu OpenGL (OpenGL Architrecture Review Board)
-> (extern) SGI OpenGL Homepage (SGI)
Mesa -> (extern) Mesa-Homepage (Mesa-Projekt)
Mesa ist eine 3D-Grafik-Library, die die OpenGL-Spezifikation als OpenSource-Implementierung realisiert (vgl. genauere Lizenzbestimmungen). Sie unterstützt über DRI (DRI = Direct Rendering Infrastructure) Hardwarebeschleunigung von Grafikkarten. Unterstützt werden bevorzugt Unix/X11-Systeme, aber u.a. auch für Amiga, Apple, OS/2, Windows, ... werden Treiber entwickelt.
-> (extern) Mesa FAQ (Mesa-Projekt)
Open Inventor -> (extern) Homepage
OSS-Projekt (OSS = Open Source at SGI)
(SGI)
Open Inventor ist ein objektorientiertes 3D-Toolkit, das auf OpenGL basiert. (inkl. 3D-Szenen, 3D-Objekten, ...)
-> (extern) FAQs:
Open Inventor General FAQ, Open Inventor Technical FAQ, SGI Inventor FAQ
(SGI)
DirectX -> (extern) DirectX-Homepage (DirectX Organization)
DirectX ist eine moderne Library für Multimedia-Anwendungen (insbes. 2D- und 3D-Grafikunterstützung) für Microsoft-Betriebssysteme. Viele Grafikkarten unterstützen diese Library hardwarebeschleunigt.
-> (extern) Microsoft DirectX Developers Homepage (Microsoft)
-> (extern) Programming DirectX with C/C++ (Microsoft)
-> (extern) Microsoft DirectX 9 Developer FAQ (Microsoft)
SDL (Simple DirectMedia Layer) -> (extern) SDL-Homepage (Sam Latinga und andere)
SDL ist eine freie plattformübergreifende Multimedia-Library (API) für LowLevel-Zugriff auf Audio, Keyboard, Mouse, Joystick, 3D-Hardware über OpenGL, 2D-Video-Framebuffer, ... . Sie ist in C geschrieben und unterstützt C++ und durch spezielle Bindings auch andere Programmiersprachen wie Java, Ada, Perl, PHP, Python, ... .
Lizenz: GNU Lesser General Public License (LGPL)
-> (extern) SDL-Library Documentation (Sam Latinga und andere)
VTK (Visualization ToolKit) -> (extern) VTK-Homepage (Kitware Inc.)
VTK ist eine OpenSource-Library für 3D-Grafik in C++, die aber über Interfaces auch Tcl/Tk, Java und Python realisiert.
-> (extern) VTK Dokumentationen:
aktuelle VTK-Version, VTK 4.2, VTK 4.0)
(Kitware Inc.)
-> (extern) VTK User's Guide (Kitware Inc.)
-> (extern) VTK FAQ (Kitware Inc.)
-> (extern) Archiv der VTK-Mailingliste (Kitware Inc.)

top top

Verbesserungsvorschläge, Fragen und Anregungen an
Robert Baier ([e-mail-Adresse von Robert Baier])
© 2003 Robert Baier;
© 1999-2002 Robert Baier, Sascha Herrmann
Last modified: 22.07.2015