Plattformunabhängigkeit



  • Hallo.
    Ich habe gerade in einem Thread gelesen "wenn das nicht Plattformunabhängig geht, wird eben #ifdef verwendet". Dazu habe ich mal eine Frage. Der Präprozessor wird doch schon vor dem Compilen ausgeführt.Im späteren Programm ist davon nichts zu sehen. Ich habe die Vermutung, dass man dann für jedes System einmal kopilieren muss, sich defines dafür schreibt, und diese einsetzt. Stimmt diese Vermutung ?



  • Jepp, du musst für jedes Betriebssysten einmal eine Version mit den passenden einstellungen kompilieren



  • imson schrieb:

    Der Präprozessor wird doch schon vor dem Compilen ausgeführt.

    Yep.

    imson schrieb:

    Im späteren Programm ist davon nichts zu sehen.

    Exakt. Der Präprozessor ist ja eigentlich nichts anderes als ein "Textersetzer".

    imson schrieb:

    Ich habe die Vermutung, dass man dann für jedes System einmal kopilieren muss, sich defines dafür schreibt, und diese einsetzt. Stimmt diese Vermutung ?

    Wie guenni schon sagt, ja.

    Das müsstest du aber auch machen, wenn du den Präprozessor nicht für sowas benutzt, da jedes BS normalerweise ein eigenes Format für Executables hat.



  • Zumal die Forengrößen hier aber das nicht mit defines regeln, sondern anders (wie hab ich vergessen 😃 😉 )



  • #ifdef etc. sollte man auf ein minimum versuchen zu begrenzen. Und über Policies uä kann man das auch wunderbar machen. Aber das haben wir ja mehrfach diskutiert.


Anmelden zum Antworten