SOS [C][Code] redefinition Trace(A1,A2,"text %d",i) en Trace("text %d",i)

Signaler
Messages postés
2
Date d'inscription
dimanche 1 février 2009
Statut
Membre
Dernière intervention
26 octobre 2010
-
Messages postés
2
Date d'inscription
dimanche 1 février 2009
Statut
Membre
Dernière intervention
26 octobre 2010
-
Bonjour,
Voici mon problème : je veux afficher des traces dans du code fournit par le constructeur du microP (ST).
Les traces dans le code constructeur sont écrites comme ça :

PRINT_Trace(Arg1,Arg2,Arg3,Arg4, "texte a écrire %d %d", Num1, Num2);

L'affichage des traces dans ma boite se fait a l'aide d'un module qui reçoit les traces sous cette forme :

TRACE_S("texte a écrire %d %d", Num1, Num2);


Dans les anciennes Baseline constructeur, leurs traces étaient sous la forme :

PRINT_Trace("texte a écrire %d %d", Num1, Num2); il n'y avait donc besoin que d'un #define PRINT_Trace TRACE_S et c'était bon.

Quelqu'un peut il me débloquer ?, sachant qu'il y a toujours 4 arguments, qu'ils ne me servent a rien et qu'ils varient d'une fonction a l'autre (donc le #define PRINT_Trace(Arg1,Arg2,Arg3,Arg4, TRACE_S( ne marche pas (bien que je ne soit pas sur que ce soit une bonne syntaxe :) ) et, bien sur, je prefererais éviter la méthode du renommage, puis suppression de tous les Args :)

En vous remerciant,
Cédric.

2 réponses

Messages postés
252
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
25 avril 2011

Salut,

Il faut que tu revoies la syntaxe de #define.

Quelque chose comme ce qui suit devrait faire l'affaire.
#define PRINT_Trace(a,b,c,d,txt,n1,n2) TRACE_S(txt,n1,n2)


Bonne prog
Messages postés
2
Date d'inscription
dimanche 1 février 2009
Statut
Membre
Dernière intervention
26 octobre 2010

Bonjour,
Merci pour ta réponse.
Le problème, j'ai oublié de le préciser c'est que le nombre de parametres (Num1 Num2) peut varier, il peut ne pas y en avoir comme il peut y en avoir 5-6.
Cédric.