Ich habe vor nächstes semester systemnahe zu machen und will mir jetzt in die ferien c anschauen. jetzt meine frage: Ich benutze eher windows aber die übung ist auf UNIX. Ist da der unterschied groß oder nur klein. macht es sinn sich C auf win anzuschauen und dann die ue auf unix zu machen oder ist es ein problem wenn man es auf win kann es auf unix umzulernen?
thx leviathan
Unterschiede zwischen UNIX und Win bei C
-
-
wenn es rein um die sprache C geht (standardfunktionen, schleifen, strukuren, pointer, ...), sollte es keine unterschiede geben.
wenn es um den stoff von sysprog geht (forks, IPC, ...) hat windows mit linux wahrscheinlich recht wenig gleich. -
Zitat von leviathan
Ich benutze eher windows aber die übung ist auf UNIX. Ist da der unterschied groß oder nur klein.
Microsofts Distributionen haben keinen bzw. nur sehr mangelhaften POSIX-Support, es werden also sehr viele Standardfunktionen und -systemaufrufe auf Windows nicht funktionieren. Anders ausgedrückt: die Sprache selbst ist dieselbe, aber ausgerechnet das UE-relevante OS-Interface sieht deutlich anders aus.
Zitatmacht es sinn sich C auf win anzuschauen und dann die ue auf unix zu machen oder ist es ein problem wenn man es auf win kann es auf unix umzulernen?
Wenn du dich wirklich nur mit C beschäftigst, also dich zum Beispiel im Developer Studio auf "console application" beschränkst, solltest du keine zu großen Probleme haben.
Du darfst dich halt nicht auf nichtportable Spielereien einlassen, und du musst aufpassen, dass du wirklich C programmierst und dich Microsofts berüchtigt besserwisserische Umgebungen nicht kommentarlos C++ programmieren lassen. Sonst kommst du nachher aus dem Staunen nicht mehr heraus, was plötzlich alles nicht mehr geht.
Am Besten ist es, du verwendest keine Windows-spezifische Dokumentation, sondern halt ein Buch oder irgendwas Gegoogeltes, und benutzt Funktionen und Systemaufrufe gleich wie unter Unix. Dann können dir eventuelle Abweichungen später nicht auf den Kopf fallen.
.
-
Ok danke für die infos.
Georg: Kannst du mir vielleicht ein guttes Buch oder einen gutten link geben für C unter UNIX? wär echt nett von dir.
lg leviathan -
Zitat von leviathan
für C unter UNIX?
Ich finde, das ist schon mal der falsche Ansatz: Wenn du ein Buch mit dem Titel "C unter UNIX" liest, dann lernst du damit vielleicht, wie man effektiv UNIX-Programme schreibt; C (die Programmiersprache) lernst du damit aber nicht. D.h. du wirst nicht unterscheiden können, was jetzt C ist und was UNIX, und beim ersten Plattformwechsel fällt dir das auf den Kopf.
Ich würde daher empfehlen, zuerst die Sprache zu lernen. Die paar Betriebssystemaufrufe, die bei Sysprog dann noch dazukommen, sind erstens nicht so schwer zu lernen und zweitens zum Teil sowieso Sysprog-spezifisch, du wirst einige also sowieso nirgendwo anders finden.
Hier ein paar Links für echtes, portables C:
http://www.eskimo.com/~scs/C-faq/top.html
http://users.powernet.co.uk/eton/clc/cbooks.html
http://home.att.net/~jackklein/c/c_books.html
Weiters ist (bzw. war, ich hab sie schon länger nicht mehr gelesen) die Newsgroup comp.lang.c absolut genial und voll mit Experten, man muß aber aufgrund des hohen Traffics entsprechend Zeit zum lesen investieren, wenn man das ganze Wissen aufsaugen will. -
danke einmal für die links.
P.S.: mti C unter Unix wollte ich nur andeuten das da nicht windows spezifische sachen drinnen stehen soll. das ein buch was so heist nicht ideal ist ist mir schon klar.
thx leviathan -
Zitat von leviathan
P.S.: mti C unter Unix wollte ich nur andeuten das da nicht windows spezifische sachen drinnen stehen soll. das ein buch was so heist nicht ideal ist ist mir schon klar.
Falls du ein Buch brauchst, dass wirklich tief in die Unix Materie geht, dann empfehle ich "Advanced Programming in the UNIX Environment" von W. Richard Stevens (Addison Wesley). Aber Vorsicht, du musst schon C können, um mit diesem Buch weiterzukommen. -
Hmm, zur Vorbereitung auf die LVA würd ich dir das dazugehörige Buch "Systemnahes Programmieren - C Programmierung unter Unix und Linux" empfehlen, das du über das Institut beziehen kannst. Darin wird ausführlich auf Mechanismen und die Architektur von Unix/Linux Systemen eingegangen und es bietet auch eine recht brauchbare Einführung in C. Wenn du daraus lernen würdest, brauchst dir keine Sorgen machen, dass du etwas unnötiges lernst, außerdem ist das Buch auch gar nicht teuer und nächstes Semester musst du es dir sowieso kaufen.
Link zur LVA-HP: Systemnahes Programmieren
Ich hab diese LVA dieses Semester gemacht und ich glaub unter Windows wär das so gut wie unmöglich gewesen. Den größten Teil hab ich bei mir zu Hause auf einem Linux System programmiert und selbst da gab es manchmal Probleme wegen der Unterschiede zu dem im Labor laufenden Unix.
mfg Thomas
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!