Compatibility : general, MV C++, Borl.C++,....

GanbaruX

GanbaruX

Mitglied
Hallo, eine Frage zum Verständnis.

Bin in einem Thread weiter hinten darauf gestossen...dort wurde bemängelt, das u.a. auf einer Seite ( Link ) auch viel MV C++ angeboten wird.

Jetzt habe ich dort mal gestöbert und die Kat. "Compatibility" gesehen.

Heisst das, dass ich ein Code der auf einer bestimmten IDE geschrieben wurde nicht oder nur schwer auf eine andere portieren kann?

Ich dachte C wäre C.... ?(

Ich "programmiere" zur Zeit nur Anfängerbeispiele in einem normalen Editor (aber nicht mehr lange...), deswegen meine Frage.

Danke

GanbaruX
 
C ist nicht unbedingt C.

Es gibt verschiedene Ursachen, warum Code unter verschieden Compilern nicht compiliert werden kann.

1) Standards
Es gibt verschieden C-Standards, der neueste ist C99, es gibt daneben noch ANSI C oder C89. Nun kann eben ein Compiler nicht alle Definitionen von z.B. C99 erfüllen.
(GCC kann AFAIK auch ein paar unbedeutende Dinge von C99 noch nicht)

2) Libraries
Wenn es die Libs nur unter einem best. OS gibt, dann siehts auch schlecht aus, Beispiel hierfür wäre z.B. die MFC (Windows). Aber die meisten frei verfügbaren Libs gibts für mehrere OSs.
Die Sockets sind beispielsweise unter Unix/Linux und Windows anders realisiert.
 
Ok. Danke, ich denke die aufkommenden Probleme werden sich mir beim aufkommen dann selbst erschließen.

Muss ich dann quasi ein Programm, ein größeres Projekt z.B., immer für eine bestimmte Plattform "zurechtschneidern" ?

An welchen Standard soll ich mich halten? Hängt das vom jeweiligen OS oder der IDE ab?

Ganz schön verwirrend...
 
GanbaruX schrieb:
Muss ich dann quasi ein Programm, ein größeres Projekt z.B., immer für eine bestimmte Plattform "zurechtschneidern" ?
Nicht unbedingt. Kommt darauf an, welche Funktionen dein Programm haben soll. Wenn möglich auf Systemübergreifende Libs, wie z.B. SDL, GTK, QT, wxWindows und was es noch so alles gibt, zurückgreifen und du brauchst nichts mehr umzuschreiben.
Ansonsten, wenn etwas systemspezifisches vorkommt, kannst du ja den Preprocessor benutzen um die richtigen Funktionen zu benutzen (#ifdef etc.)

GanbaruX schrieb:
An welchen Standard soll ich mich halten? Hängt das vom jeweiligen OS oder der IDE ab?
Am Besten an C99. Bietet einige sehr gute Verbesserungen. Wenn dein Compiler kein C99 kann, ist er Schrott. :D
Die Standards sind systemübergreifend gültig, weil es ja nur um die Sprache C an sich geht, praktisch um die Grammatik. Das Vokabular diktiert das OS bzw. die Libs.
IDE ist der falsche Begriff. Eine IDE ist nur ein überdimensionierter Editor. Der zugrundeliegenden Compiler übersetzt das Programm. (nicht immer an Visual C++ oder sowas denken, da is auch nur ein M$-Compiler drin :D)

GanbaruX schrieb:
Ganz schön verwirrend...
Ich hab meine Liebe zu Python entdeckt... was ich damit sagen will: Scriptsprachen können vieles einfacher machen ;)
 
Danke für den Überblick.

Bisher habe ich nur mit php/mySQL und ein wenig mit Java gearbeitet.
Ich möchte nun gerne C/C++ lernen. Warum weiß ich noch nicht genau - villeicht möchte ich einfach nur ein "richtiges" Programm schreiben können. Ideen habe ja, nur keine Ahnung wie ich ein Programm schreiben kann...bzw. umsetzten kann.

*Jetzt ist die Zeit für Tipps! - Jetzt bin ich noch "formbar" ;) *
 
thorus schrieb:
Am Besten an C99. Bietet einige sehr gute Verbesserungen. Wenn dein Compiler kein C99 kann, ist er Schrott. :D

Dann sind also saemtliche C Compiler Schrott? Eigenwillige Interpretation. Oder gibt es seit neuestem doch noch einen Compiler, der C99 komplett unterstuetzt?
 
Yuuhi schrieb:
Dann sind also saemtliche C Compiler Schrott? Eigenwillige Interpretation. Oder gibt es seit neuestem doch noch einen Compiler, der C99 komplett unterstuetzt?
Das habe ich nicht gesagt. Ich meinte nur, dass man schon mit C99 anfangen sollte.
Gut, etwas übertrieben ;)
 

Ähnliche Themen

Secure Programming Cookbook

Zurück
Oben