Was ist die Linux-API?
-
Ich programmiere schon seit vielen Jahren unter Windows und würde nun gerne in die Linux-Programmierung einsteigen. Leider fehlt mir etwas der Überblick.
Unter Windows hat man ja als Subsystem die WinAPI. Alles, egal ob C-Library, MFC, usw. baut auf der WinAPI auf. Was ist das Gegenstück zur WinAPI unter Linux? In der Wikipedia hab ich eine Abbildung gefunden, auf der es so aussah, als ob die C-Library die "unterste Schicht" bei Linux ist. Oder gibt es noch etwas, das systemnäher ist?Herzlichen Dank im Voraus.
-
Du kannst die Syscalls des Kernels direkt aufrufen.
-
Unter Linux gibts natürlich auch POSIX, welches du verwenden kannst.
-
Nur darf man keine Zeichen-API/CryptoAPI/etc. erwarten, das muss man alles selber über bibliotheken machen.
-
zieh dir mal dieses fette buch rein, das ist ganz gut zum einstieg, advanced unix programming heisst des
-
In Linux ist das Ganze modularer aufgebaut.
Grundlegende Dinge wie Threading oder sockets werden durch die POSIX-API beschrieben: http://en.wikipedia.org/wiki/Posix
Alle GUI-Sachen greifen auf den X-Server zu, dementsprechend ist die grundlegendste GUI-Lib die Xlib: http://en.wikipedia.org/wiki/Xlib ,in der Regel verwendest du aber eine hoeher-liegende API. GTK+ und Qt sind die wohl weitverbreitetsten, und werden auch von Gnome respektive KDE verwendet. Beide bieten auch Abstraktionen fuer Threads & Sockets.
-
Vielen Dank für diese Einblicke. Das hat mir wirklich gut weiter geholfen!
