Compilersprachen und plattformabhängigkeit

MinaM

Mitglied
Hallo Zusammen,

Ich hätte einmal eine Frage zur plattformabhängigkeit von Compilerpsrachen wie C.
Wie weit geht denn die plattformabhängigkeit?
Kann es sein, dass ein auf einem Intelprozessor kompiliertes C-Programm nicht auf einem AMD Rechner läuft?
Oder sogar das ein Programm, dass auf einem bestimmten Intelprozessor läuft, auf einem
anderen Rechner mit Intelprozessor nicht läuft?

bin sehr dankbar für eure Antworten
liebe grüße
Mina
 
Das kommt zum Teil darauf an mit welchen Funktionen Du arbeitest.
Zum Beispiel gibt es einige Funktionen nur unter Windows, andere nur unter Linux.

Beim Prozessor ist es recht aehnlich. Je nachdem welche Prozessorfeatures Du nutzt ist die Nutzung Deines Programmes auf bestimmte Prozessoren beschraenkt. Und zwar die, die diese Extensions (SSE, MMX, etc.) bieten.
Jedoch gerade bei CPU-Features sind die Hersteller relativ kompatibel zu einander.
Vor ein paar Jahren war es aber z.B. nicht unbedingt angebracht davon auszugehen, dass der User ueber einen MMX-Prozessor verfuegt.

Die Nutzung solcher Extensions sollte optimalerweise optional sein.
 
Hallo reptiler,

wau...,dass ging ja schnell mit der Antwort :-)

also wenn ich dich recht verstanden habe, laufen C programme von einem Intelprozessor,
im allgemeinen problemlos auch auf anderen Intel- oder AMD Rechnern,
es sei denn man benutzt bestimmte Prozessorfeatures.

ist dass so richtig?

liebe grüße
Mina
 
Ja, soweit ich weiss ist das so.

Ich beschaeftige mich seit ein paar Jahren nicht mehr intensiv mit der Programmierung, von PHP und ein paar Eingriffen in C-Sourcen unter Linux mal abgesehen.
Als ich noch mehr programmiert hab war dieses Thema richtig aktuell, da gerade die MMX-Pentiums und der Pentium II rauskamen. Und man musste sich wirklich Gedanken machen ob mein diese Extension beim Programmieren braucht oder nicht.

In der Regel haben die aktuellen Prozessoren mehr oder weniger die gleichen Erweiterungen. Es gibt natuerlich immer ein paar herstellerabhaengige Erweiterungen (wie AMD's 3D-Now), aber diese sind wohl eher nicht die Regel.
 
Hallo reptiler,

vielen Dank für deine Antwort,
ich denke damit ist meine Frage zufriedenstellend beantwortet.

lg
Mina
 
übrigens: es gibt auch und C++ gewisse standards die weitesgehend plattformunabhängig sind: verwendet man zum beispiel nur Ansi-C++ und STL Befehle sollte das unter sehr vielen verschiedenen Betriebssystem und Hardware funktionieren....
 
danke thoomy für den Hinweis.

Ich würde gern den Thread als erledigt markieren. Habe schon in den FAQs nachgeschaut,
aber nicht gefunden wie das geht. Vielleicht kann es mir jemand von euch sagen.

Danke
Mina
 
Zurück