Codemanipulation über Header



  • Ich arbeite momentan mit einem Testprogramm für C - Code und teste hierbei diverse Quellcodes, die für unterschiedliche Compiler geschrieben worden sind.
    Hierbei ist ein Problem aufgetreten, da das Testprogramm mit Visual C 6.0 Compiler arbeitet, dieser jedoch diverse Pragmas nicht kennt. Außerdem werden Steuerzeichen wie @ in manchen Compilern so verwendet, das VC damit nicht umgehen kann. Nun möchte ich hingehen und die störenden Code - Elemente unwirksam machen, dabei aber möglichst wenig im Code selber umschreiben, wodurch löschen und auskommentieren mehr oder weniger als Möglichkeit wegfallen.

    Daher meine Frage:

    Gib es eine Möglichkeit Quellcode - Zeilen bzw. einzelene Stellen im Quellcode
    z. B. mittels einer eingebunden Header - Datei heraus zu kommentieren oder heraus zu definieren.



  • @tuttmasta,
    meinst du sowas wie

    #ifndef VC_COMPILER
      ...
      /* Störender Code */
      ...
    #endif /*VC_COMPILER*/
    

    Damit wird der Codeblock innerhalb von #ifndef/#endif vom Compiler ignoriert sobald VC_COMPILER definiert ist.



  • @Herrmann
    Ich glaube es ist eher sowas gemeint:

    #define Stoerender_Code
    

    Ob, sowas allerdings funktionieren kann, ist fraglich.

    Dein Vorschlag wäre natürlich die bessere Lösung.



  • Bedingte Compilierung hatte ich mir auch schon überlegt, funktioniert im Endeffekt ja auch, ist mir aber eigentlich wieder zuviel Eingriff in den Code.

    Und wenn ich störenden Code einfach definere klappt das zwar teilweise, sobald aber Sonderzeichen wie # oder @ vorkommen, werden wieder Fehlermeldungen produziert.



  • tuttmasta schrieb:

    Und wenn ich störenden Code einfach definere klappt das zwar teilweise, sobald aber Sonderzeichen wie # oder @ vorkommen, werden wieder Fehlermeldungen produziert.

    Verständlich.
    Die einfachste und sauberste Lösung ist immer noch die bedingte Compilierung, auch wenn es wahrscheinlich ein Haufen Arbeit ist das nachzupflegen.


Anmelden zum Antworten