Programmierung in C/C++

Macloc

Elstar
Registriert
15.03.07
Beiträge
73
Hallo, ich beginne dieses Jahr eine Ausbildung zum Fachinformatiker in Richtung Systemintegration dort werde ich auch in C/C++ Programmieren müssen, nun wollte ich wissen wie das Systemübergreifend unter Os X, Windows, Linux aussieht? Kann ich z.B unter Os X eine Programm programnmieren und es z.B unter Windows ausführen?
Funktionieren einfache Programme, mit cin/cout die nur mit ein paar Variablen etwas berechnen soll? Welches Programm soll ich verwenden (Os X)? Was ist zu beachten?

Grüße, Macloc
 

Katagia

Zuccalmaglios Renette
Registriert
18.02.07
Beiträge
260
Unter OSX wirst du mit XCode am einfachsten zurecht kommen.
Einfache "Konsolenprogramme" funktionieren, wenn sauber geschrieben, auf jedem System. So bald es graphisch wird, sieht es anders aus. Unter windows gibt es andere Libraries als unter Linux und OSX. Wenn du richtig graphisch auf allen Platformen entwickeln willst, solltest du dir die QT Library anschauen.

Wie gut die Cross-Compiler sind, also ob ein unter OSX kompiliertes Programm unter Windows läuft, kann ich dir nicht sagen. Ich vermute es ist einfacher, dass Programm in einem Windows System neu zu übersetzen.
 

lol

Uelzener Rambour
Registriert
26.01.07
Beiträge
366
Genau, compiliere am besten immer auf der Plattform, auf der die binary ausgeführt werden soll.
Dein Stichwort für die Suche nach c/c++ Code, der auf mehreren Plattformen compiliert werden kann ist "ansi c".
Das ist eine Konvention, wie Code zu schreiben ist und welche Libs eingestetzt werden dürfen, damit der auf unter mehreren System läuft.
Grobübersicht wiki:
http://en.wikipedia.org/wiki/ANSI_C
 

Macloc

Elstar
Registriert
15.03.07
Beiträge
73
Vielen Dank! Jetzt habe ich noch eine Frage, zu den Bibliotheken, wenn ich ohne GUI Programmieren dann sind die Bibliotheken unter den Betriesystemen gleich oder? MIt GUI gibt es Unterschiede?

Grüße, Sway
 

Katagia

Zuccalmaglios Renette
Registriert
18.02.07
Beiträge
260
Es gibt Standards-Libs, z.B.die stdio usw. Die sind meistens gleich, allerdings nicht immer.Ich programmiere z.B.im Embedded-Bereich. Dort ist alles deutlich abgespeckter. Programmieren unter C ist in heterogenen Umgebunden zu komplex, um eine pauschale Aussage treffen zu können.

Ich habe z.B. versucht in einem Embedded Projekt eine FAT Library einzubinden. Die Fat Library war sauber in ANSI C geschrieben, daher konnte ich sie ohne Änderungen 1:1 übernehmen. Der Ansteuercode für eine SD Speicherkarte hingegen war sehr Hardwarenah für AVR Mikrocontroller geschrieben. An diesem konnte ich mich orientieren, musste aber alles für meinen ARM7 neu schreiben.
 

Macloc

Elstar
Registriert
15.03.07
Beiträge
73
Hallo, ich habe mir nun nach dem ich aus dem Urlaub zurück bin Xcode installiert und die Xcode.app gestartet. Ich habe ein neues Projekt angelegt und unter Command Line Utility das Standart Tool ausgeählt.
Dies ist doch für die Programmierung unter C?

Über ANSI habe ich mich schon erkundigt, nun suche ich noch ebooks bzw Tutoriale, Hilfe, Anleitungen wie ich unter Xcode Programmiere bzw das Programme richtig benutze eine Anleitung inkl. ANSI C wäre am besten.

Würde mich freuen wenn mir jemand helfen könnte.


Grüße, Macloc
 

tfc

Ontario
Registriert
21.07.07
Beiträge
348
Wenn Du erwägst, nicht immer nur für Apple Plattformen zu programmieren, dann benutz besser eine IDE dafür, die auch auf allen Plattformen verfügbar ist.

Programme die nur unter OS X laufen müssen mögen ganz klar in Objective-C mit Xcode am komfortabelsten geschrieben sein.

Aber wenn es unter Windows und anderen Unices laufen soll, dann empfehle ich Eclipse als IDE und die Qt-Library für alles was mit GUI zu tun hat und so weiter.
 

StephanG

Normande
Registriert
07.11.07
Beiträge
582
Lass lieber die Finger von Xcode. Du willst Plattformübergreifend programmieren und Xcode gibt es nun mal nur für OS X. Selbst wenn der Code funktioniert, stehst du dann vor einer neuen IDE und weisst nicht wo du evtl. Einstellungen änderst (Debugger, Command-Line Argumente, usw.).
Beim Programmieren ist der Debugger dein bester Freund.

Von meiner Seite ganz klar die Empfehlung zu Eclipse für alle Plattformen. Später kannst du immer noch relativ einfach auf Visual Studio für Windows und Xcode für OS X (evtl. auch in Objective-C) umsteigen.

Was die GUI-Programmierung angeht, Qt ist gut, vergiss es aber lieber erstmal wieder. Zuerst lieber lernen wie man richtig programmiert, danach kannst du zu GUIs kommen.

Was die Lauffähigkeit der Programme auf allen Plattformen betrifft, so kann man das nicht nach GUI-Programmierung unterscheiden. Du kannst sehr wohl auch Konsolenprogramme schreiben, die unter Linux/OS X laufen und unter Windows nicht. Posix, Threads, Prozesse, Dateien, Verzeichnisse, usw. unterscheiden sich jeweils.

Als Buchtipp: Breymann aus dem Hanser Verlag, ich habe noch kein besseres Buch für den Einstieg in C++ Programmierung gefunden.

- Stephan
 

Macloc

Elstar
Registriert
15.03.07
Beiträge
73
Hey, vielen Dank! Wenn ich Eclipse verwende, muss xcode bzw muss das Developer Zeugs von der DVD 2 installiert sein?

Grüße, Macloc
 

tfc

Ontario
Registriert
21.07.07
Beiträge
348
Der GNU Compiler und so weiter sind im Developer Zeug enthalten. Brauchst Du.