[C/C++] Unterschied Linux/Windows

001

001

Routinier
wo wir schon mal beim thema c/c++ 4 n00bs sind:
wo ist eigentlich der riesen unterschied zwischen
c programmierung unter linux im gegensatz zum progen unter windoze?
ich weiß ist ne sehr sehr dumme frage
habs glaube ich mal in ner sig gelesen:
wer einmal dumm fragt blamiert sich einmal
wer nie dumm fragt sein ganzes leben lang
in diesem sinne..
solong folks
001


Mod-Edit:
Ich habe mir mal erlaubt dieses Thema aus dem anderen Thread zu entfernen, weil es nicht dazu passte.
thorus
 
Zuletzt bearbeitet von einem Moderator:
Wenn du C-Standards einhälst, läuft dein Programm überall.
Aber du wirst in der Praxis bestimmte Libraries oder Systemfunktionen brauchen, die nur auf bestimmten Betriebssystemen verfügbar sind.
Ein Vorteil bietet der POSIX-Standard, der beispielsweise die wichtigsten Systemcalls standardisiert, so dass man beispielsweise Programme unter Linux und anderen Unixen, wie etwa den BSDs, nach systemspezifischer Kompilation ausführen kann.

Unter Windows siehts da etwas düster aus, aber es gibt Lichtblicke. ;)
Es gibt beispielsweise GTK+ und noch viele andere Libs unter Windows.
 
Soll heißen: Der Kern kann bleiben, nur die Schnittstelle zum Nutzer muss verändert werden. Wenn Du C++ Programmierst kannst Du Dir einfach Klassen mit diesen Schnittstellen basteln (z.B. eine für Win, eine für Linux und eine für Mac). Der Kern greift abstrakt auf die Objekte dieser Schnittstellenklassen zu. Du brauchst dann vorm compelieren nur noch die objekte austauschen...
 
thx für die antworten!
ich frage mich dann nur noch warum es dann kurse für linux und win seperat giebt.
man könte ja einfach drauf aufmerksam machen wen es probleme geben könte.
 
wie thorus und moritz das schon sagten: der unterschied liegt in systemspezifischen dingen und systemaufrufen. da ist der unterschied. und wenn du einen coding-kurs für linux machst, dann wird auf linux-spezifische dinge eingegangen - beispielsweise in der systemprogrammierung.

ciao, rhythm
 
Auch wird in Windows-Kursen oftmals auf das Lieblingskind von MS-Developern eingegangen, des MFC, welches bei Linux natürlich nicht gibt ;)

Die Kernsprache ist zwar die gleiche, aber nicht alle Compiler setzen dazu noch den Standard gleichgut um - abgesehen von den Unterschieden der Standard-Bibliotheken / Systemaufrufen. Aber auch schon solche simplen unterschiede wie ein anders aufgebauter Pfadnahme muss berücksichtigt werden je nach OS.
 
Es scheitert meistens schon an ganz einfachen Sachen wie z.B. der formatierten Ein/Ausgabe auf Konsole (Bildschirm ohne system("clear") Befehl loeschen, Zeichen links oben setzen, Einzelnes Zeichen lesen, Farbige Zeichen ...)
Linux benutzt hierzu ncurses.h, Windows dagegen conio.h.
Siehe Google
 
Naja das mit den 2 versch. GUIs: Es gibt imho noch GTK und wxWidgets. Mit denen kann doch relativ einfach sehr portablen Code schreiben was GUIs angeht. Ich bevorzuge eigentlich die wxWidgets, aber das ist ein freies Land, gell :)
rya.
Scorcher24
 
Zurück
Oben