Linux API ?



  • Hallo !

    Ich habe jetzt angefangen in Linux zu programmieren, ich finde aber keine API, also eine Auflistung und Dokumentation die von Linux bereitgestellt werden (so wie die Win API in der MSDN), wo man auch den Aufbau der Datentypen sieht etc.

    Gibt es sowas in Linux nicht ? Ich hab mein bestes bei Google gegeben aber finde nichts dazu, bis auf die eine Seite: http://linux.die.net/man/ aber da gibt es keine Infos über Datentypen.

    Wäre nett wenn mir jemand Infos dazu geben könnte.



  • Gast6346 schrieb:

    Hallo !

    Ich habe jetzt angefangen in Linux zu programmieren, ich finde aber keine API, also eine Auflistung und Dokumentation die von Linux bereitgestellt werden (so wie die Win API in der MSDN), wo man auch den Aufbau der Datentypen sieht etc.

    Gibt es sowas in Linux nicht ? Ich hab mein bestes bei Google gegeben aber finde nichts dazu, bis auf die eine Seite: http://linux.die.net/man/ aber da gibt es keine Infos über Datentypen.

    Wäre nett wenn mir jemand Infos dazu geben könnte.

    POSIX + xlib 😋



  • Wenn es um die grundlegenden Funktionen des Systems geht, also C-Standardbibliothek, POSIX, X11, Syscalls etc., dann sind die Manpages schon eine recht gute Anlaufstelle. Die sind zwar nicht unbedingt immer so sauber strukturiert wie die MSDN, aber es steht alles drin was man wissen muß.
    Die von dir verlinkte Seite scheint mit allerdings nicht die beste zu sein, bei den meisten Linux-Distributionen sollten bessere und ausführlichere Manpages dabei sein.

    Ansonsten gibt es sowas wie "die Linux-API" nicht. Wenn du Programme mit graphischer Oberfläche schreiben möchtest, dann solltest du dich für ein GUI-Toolkit entscheiden (GTK und Qt sind die beiden gebräuchlichsten). Da ist dann jeweils auch mehr oder weniger gute Dokumentation dabei.



  • Danke für die Infor, werde mal nach POSI und xlib suchen.

    Mir geht es nicht um GUI-Programmierung eher um Netzwerkprogrammierung, bin gerade dabei ein kleines Client/Server programm zu schreiben, die meiste Zeit geht dabei beim Suchen nach den Funktionen und structs drauf. Zum Glück ist die Netzwerkprogrammierung in Linux mit der von Windows fast gleich.

    Welche Referenzen verwendet ihr denn wenn ihr auf Linux programmiert ?



  • Gast3252 schrieb:

    Welche Referenzen verwendet ihr denn wenn ihr auf Linux programmiert ?

    Wie gesagt, Man Pages 🙂

    Terminal aufmachen, man funktionsname eingeben, lesen. Unter "see also" findet man meistens auch die verwandten Funktionen, die evtl. hilfreich sein könnten.

    Und wenn dir das zu blöd ist, sowas im Terminal zu lesen, gib einfach mal im Konqueror man:funktionsname ein...



  • Danke !! 🙂

    Den Befehl man:funktionsname kannte ich noch nicht, hab mir jetzt Konqueror runtergeladen und installiert, damit funktioniert das super.

    Aber eine Frage noch, wenn ich zb eine verlinkte Funktion in Konqueror in den man pages anklicke dann macht er die Seite man:name zwar auf, aber die dann kommt eine KDE Man Viewer Error Seite, fehlt mir ein Teil von den manpages oder ist das normal ?



  • Gast23525 schrieb:

    Aber eine Frage noch, wenn ich zb eine verlinkte Funktion in Konqueror in den man pages anklicke dann macht er die Seite man:name zwar auf, aber die dann kommt eine KDE Man Viewer Error Seite, fehlt mir ein Teil von den manpages oder ist das normal ?

    Daß eine verlinkte Seite nicht existiert, sollte eher die Ausnahme sein. Unter manchen Distributionen sind aber nicht alle Manpages standardmäßig installiert. Bei Debian/Ubuntu bspw. müßtest du die Pakete manpages-dev und manpages-posix-dev nachinstallieren.



  • Danke !!!

    Im Synaptic Pacakge Manager fidnet man ja noch viele Sachen zum Downloaden für die manpages 🙂 werd mir die wichtigsten mal installieren, danke nochmal !! 🙂



  • dooooomi schrieb:

    Terminal aufmachen, man funktionsname eingeben, lesen.

    blöd ist es, wenn man nicht weiß, wonach man suchen soll, sprich, man kennt den Funktionsnamen nicht 😉 so erging es mir als ich eingestiegen bin, bekam in der Regel "dafür gibt es man pages" aber wenn du den Namen nicht kennst, kommst du auch nicht weiter.

    @thread-ersteller: eine Sammlung wie bei MSDN gibt es wahrscheinlich nicht, da GNU/Linux vor allem POSIX konform ist. Vieles was in anderen Standard enthalten ist (SVr4, 4.3BSD) ist in Posix ebenfalls vorhanden, deswegen genügt es in der Regel Posix Kentnisse zu haben 😉 man pages klären dann auf, wenn eine bestimmte Funktion nur Linux-only ist (wie dup3 bspweise).

    Ich kann dieses Buch nur empfehlen:
    Linux- Unix- Systemprogrammierung | ISBN: 3827315123

    das einzie Manko am Buch ist es, dass es weitergehend eine 1:1 Übersetzung zum
    Original Buch vom Stevens ist
    Advanced Programming in the UNIX Environment | ISBN: 0201563177
    und Themen wie Sokcets/pthreads auch nicht behandelt.

    Für Nextwerkprogrammierung suche nach BSD Sockets.






Anmelden zum Antworten