will macrobezeichner verwenden



  • moin!
    ich schreibe gerade an einem programm und musste feststellen, dass eine der libarys die ich verwende ein macro definiert hat, ich möchte den bezeichner des macros aber doch noch gerne in meinem programm verwenden.
    bei

    #undef macro
    

    habe ich angst, dass die libarys hinterher nichtmehr ordnungsgemäß funktionieren.
    gibt es da überhaupt eine möglichkeit, den bezeichner nochmal zu verwenden ohne die funktionalität der libarys zu gefährden?



  • krabbels schrieb:

    ...
    habe ich angst, dass die libarys hinterher nichtmehr ordnungsgemäß funktionieren....

    Zurecht !!

    Ich bin sowieso nicht davon überzeugt, dass man Makros verwenden sollte ... und erst Recht nicht solche, die schon woanders definiert sind.

    Den speziellen Fall kenne ich natürlich nicht, aber allgemein würde ich sagen: Lass es !!! Bekommst Du nur Ärger mit.

    Gruß,

    Simon2.



  • Hallo

    der Präprozessor arbeit auch streng zeilenorientiert.
    Deshalb ist sowas gültig

    #include <lib_mit_makro.h>
    #undef makro
    
    int makro()
    {
    }
    

    nur wenn du include und undef umdrehst, gibt es einen Fehler.

    bis bald
    akari



  • oder mach für deine Bezeichner nen eigenen Namespace und gut ist.



  • macros gelten global, mit oder ohne namespace spielt keine rolle


Anmelden zum Antworten