Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2593 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Conflits de macros

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Conflits de macros

n°1949135
Oodini
Posté le 10-12-2009 à 17:11:20  profilanswer
 

Hello,
 
J'utilise une API qui fournit une ribambelle de macros de type :
 
#define _INT 0
#define _FLOAT 1
#define _DOUBLE 2
#define _BOOLEAN 3
...
 
Une fonction de l'API me renvoie un entier correspondant à ces valeurs de macros. J'applique sur cette valeur un switch afin de faire le traitement approprié selon le type.
 
Une version suivante de l'API a supprimé une entrée :
 
#define _INT 0
#define _FLOAT 1
#define _BOOLEAN 2
...
 
Ce qui décale tout, et bousille mon switch...
 
Mon apli devant fonctionner avec les deux versions de l'API, comment contourneriez-vous le problème ?
 
Merci.

mood
Publicité
Posté le 10-12-2009 à 17:11:20  profilanswer
 

n°1949137
theShockWa​ve
I work at a firm named Koslow
Posté le 10-12-2009 à 17:22:19  profilanswer
 

normalement, ton switch devrait simplement être basé sur les macros.
 
Bon, ensuite, les define pour faire des enums, ca ne me parait pas être une bonne idée, mais j'imagine que tu n'y peux rien, si ca sort d'une api tierce ...


---------------
last.fm
n°1949156
tpierron
Posté le 10-12-2009 à 17:54:25  profilanswer
 

Hmm, quand tu dis "fonctionner", tu sous-entends compiler, hein ? Parce que si c'est ça, il suffit de faire un truc du genre :

Code :
  1. switch (taValeur) {
  2. case _INT: break;
  3. case _FLOAT: break;
  4. #ifdef _DOUBLE
  5. case _DOUBLE: break;
  6. #endif
  7. case _BOOLEAN: break;
  8. }


Pas super joli, mais bon, mieux que rien.
 
Sinon, le léger avantage des #define par rapport aux enum, c'est que tu peux faire des #ifdef dessus.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Conflits de macros

 

Sujets relatifs
comment supprimer les macros[VBA] Comment détecter les macros dans les classeurs .xls
conflits entre 2 scripts javaPetit problème macros VBA Excel
activation catproduct par macros VBAfatal error C1009: limite du compilateur : macros imbriquées trop prof
base access verouiller avec macrosfaire des macros avec l'operateur << windows et linux
activation de macros dans excel 2007Je cherche un utilitaire pour faire des scripts / macros
Plus de sujets relatifs à : Conflits de macros


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)