2012-11-08 7 views
16

Gibt es eine nette Linux API Referenz wie die von MSDN oder boost? Ich mag die detaillierten Informationen über die Parameter von MSDN und die Vor- und Nachbedingungen aus der Boost-Dokumentation. Aber bis jetzt habe ich nichts Vergleichbares im Netz für Linux gefunden.Referenz für Linux API wie MSDN?

+0

['man'] (http://en.wikipedia.org/wiki/Man_page) – Joe

+7

Typ" Mann "in die Konsole –

+0

APUE - noch detaillierter. – sshannin

Antwort

10

Die man-Seiten sind definitiv ein guter Anfang, wie andere bemerkt haben. Wenn Sie etwas formelleres und strengeres jedoch möchten, würde ich empfehlen, die POSIX-Spezifikation zu lesen. Hier ist der Index von Funktionen im Standard:

http://pubs.opengroup.org/onlinepubs/9699919799/functions/contents.html

Blick auf das, was die Standard erfordert, sondern als das, was die aktuellen Implementierungen dieser Funktionen auf Linux passieren zu tun, wird auch Ihnen helfen, mehr tragbar schreiben, robust Software.

+0

Dies ist Overkill für meine Bedenken, aber schön zu wissen, wo Sie detaillierte Informationen finden. Markiert Vielen Dank. – ManuelSchneid3r

+0

@cirosantilli: Ich bekomme Ihren Einwand, aber es hängt wirklich davon ab, was OP mit "Linux" meint. Wenn die beabsichtigte Bedeutung "eines der gängigen Betriebssysteme, aka" Distributionen ", unter Verwendung des Linux-Kernels" ist, dann glaube ich, dass meine Antwort vernünftig ist. Wenn OP andererseits nach der eigentlichen * Linux API * im Sinne von Linux den Kernel fragen würde, dann hast du Recht; Die syscall-API selbst ist POSIX ähnlich, stimmt aber nicht überein, und die interne API ist nicht einmal von einer Kernel-Version zur nächsten definiert/stabil. –

8

lesen erste gute Bücher wie Advanced Linux Programming (Sie können es herunterladen) und Advanced Unix Programming

Beachten Sie, dass GNU/Linux ist per Definition weniger monolithisch als Windows (weil viele Autoren arbeiten daran, und) weil es aus vielen unabhängigen Programmen besteht.

Daher ist es keine gut Linux API definiert (mit Ausnahme der Kernel syscalls, aber GNU/Linux ist mehr als die Kernel)

Natürlich die man-Seiten lesen, insbesondere Start mit der intro(2) Man Seite über syscalls und andere man-pages.

Seien Sie sich bewusst, dass Linux die POSIX Standardspezifikation aus der OpenGroup fast (eine Obermenge) implementiert.

Lesen Sie auch viele gute Dokumentationen von TLDP.

Wenn Sie von Desktop-Anwendungsentwicklung interessiert sind, zuerst verstehen, was X11 ist, (Vorsicht, X11 ist sehr komplex in den Details). Dann lesen Sie die Dokumentation von freedesktop. Noch besser wäre es, lernen eine grafische Toolkit wie Qt oder Gtk

und GNU/Linux gemacht wird die Verwendung von free software können Sie herunterladen und Studie der Quellcode und verbessern. Sie werden sehr häufig eine existierende freie Softwarebibliothek benutzen, und Sie können ihren Quellcode studieren (und jeder von ihnen hat seine eigene Dokumentation). Ein Teil Ihrer Arbeit besteht darin, gute freie Software für Ihre Bedürfnisse zu finden. freecode und sourceforge sind gute Ressourcen (und sie sind viele andere).