Bonjour,
Pour mon projet, j'utilise un système de trace très simple qui est défini via une macro:
Par flemme, j'ai pas envie de réécrire ca à chaque fois dans chaque module. Ce que j'aimerais, c'est avoir une macro qui me définit cette macro (fiou)!
Code : Sélectionner tout - Visualiser dans une fenêtre à part #define TRACE(X) do{ printf("[nom du module] "); (X);} while(0)
Du genre:
Que j'utiliserais ainsi:
Code : Sélectionner tout - Visualiser dans une fenêtre à part #define DEFTRACE(A) #define TRACE(X) do{printf((A)); (X);}while(0)
Le problème (haha) c'est la présence du #, évidemment. J'obtiens une erreur: `#' operator should be followed by a macro argument name
Code : Sélectionner tout - Visualiser dans une fenêtre à part DEFTRACE("Nom du module ")
Comme mon compilo est pour l'embarqué, je ne peux pas utiliser des macro à nombre d'arguments variable.
Savez vous si c'est possible (sans forcément entrer dans le débat: fais une fonction à la place) de définir une macro dans une autre macro?
Merci d'avance!

 

 
		
		 
         
 

 
			
			


 
			 
   


 Macro qui définit une macro?
 Macro qui définit une macro?
				 Répondre avec citation
  Répondre avec citation

 
						
 
			 Envoyé par rilou
 Envoyé par rilou
					
Partager