Wie wichtige Sachen(zB include Dinger) in Linux



  • Ja, der Titel ist scheiße und das Forum ist glaueb ich nicht richtig, aber ich weiß nicht wo es reinhört.

    Zum Problem: Unter Windows musste ich das MS SDK installieren um Sachen wie include <conio.h> oder <time> machen zu können. Wie mach ich das unter Linux?



  • die basisfunktionen (io, prozess und thread managment, dateisystem zugriff, ...) stellt die glibc bei linux zur verfügung. je nach distribution brauchst du ein paket, das sich libc-devel oder so ähnlich nennt. das enthält alle header dateien und statischen bibliotheken.
    für andere funktion (z.b. xml, ssl, http, multimedia zeugs, ...) brauchst du je eigene bibliotheken. für die meisten zwecke gibt es mehrer alternativen. z.b. für xml libxml2 und expat. es hat vorteile, wenn du bibliotheken verwendest, die von vielen anderen programmen ebenso verwendet werden, da die wahrscheinlichkeit für guten code in diesen bibliotheken eher größer ist, da sie intensiver verwendet werden.



  • + häufig verwendete Biblioteken sind höchst warscheinlich bereits installiert 😉



  • darthdespotism schrieb:

    + häufig verwendete Biblioteken sind höchst warscheinlich bereits installiert 😉

    Nicht unbedingt in den dev-Versionen, es sei denn, man verwendet eine sourcebasierte Distro.



  • Ja, das meiste geht auch, aber eine stdio.h ist zu Beispiel nicht da, liegt das an Code::Blocks oder gibts die nicht standartmäßig?#

    PS: Ich nutze Ubuntu 7.10 habe build estantial installiert...



  • Normalerweise sollte das mit sudo apt-get install build-essentials erledigt sein. Was sagt

    sudo updatedb && locate stdio.h
    

    ?



  • Der PC fämgt an zu rattern und:

    /usr/include/stdio.h
    /usr/include/codeblocks/scripting/include/sqstdio.h
    /usr/include/bits/stdio.h
    /usr/lib/perl/5.8.8/CORE/nostdio.h

    Meiner Meinug nach da wo sie hingehört.
    Ok, dann gibt es die wohl, aber conio.h, time.h, und einige andere sind nicht da!
    Der Compiler meldet No such file or directory, und auf

    sudo updatedb && locate conio.h
    

    passiert nichts, leider...



  • conio.h ist nicht Standard und auch nicht Bestandteil irgendeines Linux-Produktes.
    time.h muss da sein 😉

    BTW: sudo updatedb musst Du nicht jedesmal vor einem locate machen, nur wenn Du befürchtest der Index ist veraltet (z.B. weil Du seit dem letzten updatedb viele Pakete installiert hast).



  • Ok, aber wenn ich nun so was hier mal machen will, einfach conio.h nicht mitincluden?

    Genauso gut kriege ich diesen Code, der alle Terminal eingaben löscht nicht hin...



  • Fussel schrieb:

    Ok, aber wenn ich nun so was hier mal machen will, einfach conio.h nicht mitincluden?

    Nein. Dieses Programm wird unter Linux unmodifiziert schlicht nicht funktionieren. Auch dos.h und graphics.h klingen nicht sehr Linux-ish. Davon ab dass der Code nicht unbedingt super Lehrmaterial darstellt.

    Genauso gut kriege ich diesen Code, der alle Terminal eingaben löscht nicht hin...

    Which one?



  • Ich benutz mal die Forensuche, Improved Konsole zum Beispiel, werd mich mal einlesen..

    Aber eine Frage noch: Jemand sagte mir, wenn ich ein Programm unter Linux schreibe und es dann auf einem XP kompiliere, wird das dann auf Xp laufen? und Umgekehrt?(immerhin fehlt da ja viel, in wie weit kann wine da helfen?)


Anmelden zum Antworten