[Präprozessor] Makrodefinition



  • Hi,

    nur eine kurze Frage, wie mache ich das richtig?

    #ifdef	_DEBUG
    #define	DBG(expr)	expr
    #define DBG_START	#ifdef _DEBUG
    #define	DBG_END		#endif			
    #else
    #define DBG(expr)
    #define DBG_START
    #define DBG_END
    #endif
    

    Gruß,
    don_basto.



  • Du kannst mit dem Präprozessor keine Präprozessor-Direktiven erzeugen (sprich: deine "#define DBG_START" dürfte nicht funktionieren) - du könntest die reinen Debug-Blöcke höchstens in einen nicht erreichbaren Code-Abschnitt packen, um sie zu deaktivieren:

    #ifdef _DEBUG
    
    #define DBG(ex) ex
    #define DBG_START {
    #define DBG_END }
    
    #else
    
    #define DBG(ex)
    #define DBG_START if(false) {
    #define DGB_END }
    
    #endif
    


  • Danke.
    Wie du vermutet hast, haben meine Definitionen so nicht funtioniert.

    Gruß,
    don_basto.


Anmelden zum Antworten