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

  FORUM HardWare.fr
  Programmation
  C++

  Utiliser * dans des macro #define ... ???

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Utiliser * dans des macro #define ... ???

n°662934
Fafix
Posté le 04-03-2004 à 14:53:00  profilanswer
 

Bonjout @ tous,
 
J´aurais besoins (pour des raisons bien compliquées à expliquer, désolé) de définir une macro du genre suivant:
#define newELeave* new(ELeave)
En gros, je voudrais que le précompilateur me remplace tous les newELeave* qu´il trouve dans mon code par new(ELeave)... Apparement, on ne peut pas définir de macro avec des "*"...
Existe-t-il une solution ?
(Je génére du code automatiquement, c´est pour ca que je suis amené à faire des trucs bizarres et pas très logiques...)
 
Merci de votre aide !!!
Fafix

mood
Publicité
Posté le 04-03-2004 à 14:53:00  profilanswer
 

n°662950
Taz
bisounours-codeur
Posté le 04-03-2004 à 15:01:39  profilanswer
 

new(ELeave) ?

n°662966
Taz
bisounours-codeur
Posté le 04-03-2004 à 15:14:06  profilanswer
 

toute façon tu ne peux pas, et ça ne résoudra pas tous tes problèmes, il faut une véritable regex pour faire ça. mais si je comprends toujours pas ce que tu veux faire.
 
si tu veux faire un bon remplacement une fois pour tout, utilise regexxer ou simplement sed
 
 

n°662973
docmaboul
Posté le 04-03-2004 à 15:20:43  profilanswer
 

Fafix a écrit :

Bonjout @ tous,
 
J´aurais besoins (pour des raisons bien compliquées à expliquer, désolé) de définir une macro du genre suivant:
#define newELeave* new(ELeave)
En gros, je voudrais que le précompilateur me remplace tous les newELeave* qu´il trouve dans mon code par new(ELeave)... Apparement, on ne peut pas définir de macro avec des "*"...
Existe-t-il une solution ?
(Je génére du code automatiquement, c´est pour ca que je suis amené à faire des trucs bizarres et pas très logiques...)
 
Merci de votre aide !!!
Fafix


 
Si c'est pour tout ton code, un petit coup de sed s'impose. (sed s/"newELeave\*"/new(ELeave)/g)
 
Sinon, puisque tu génères toi même le code, pourquoi ne le génères-tu pas correctement dès le départ ? Ca t'éviterait d'avoir à le rattraper ensuite.

n°663012
Fafix
Posté le 04-03-2004 à 15:49:19  profilanswer
 

En fait, j´adapte un générateur de code qui prend un diagramme UML et en fait du C++ pour coder du Symbian C++. Je n´ai donc pas vraiment accès aux sources du générateur mais seulement à des templates qui ne permettent pas de gérer toutes les modifications que je dois apporter. De ce fait, je n´ai pas d´autre solutions que de bidouiller avec des astuces bidons...
Je ne connais pas le sed, je cherche ca de suite, merci @ tous !!!

n°663016
Fafix
Posté le 04-03-2004 à 15:51:29  profilanswer
 

Ok, j´suis un boulet, je viens de comprendre que la commande sed est sous unix.
Je dois pouvoir faire ca avec un petit script perl sans problème, non ? C´est le bordel les commandes pour remplacer des chaines de caractères en perl, mais je vais y arriver :-p

n°663071
docmaboul
Posté le 04-03-2004 à 16:40:24  profilanswer
 

Fafix a écrit :

Ok, j´suis un boulet, je viens de comprendre que la commande sed est sous unix.
Je dois pouvoir faire ca avec un petit script perl sans problème, non ? C´est le bordel les commandes pour remplacer des chaines de caractères en perl, mais je vais y arriver :-p


 
oui, mais si tu es sous windows, tu peux aussi installer et utiliser cygwin.


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

  Utiliser * dans des macro #define ... ???

 

Sujets relatifs
Macro et liste d'arguments ?Utiliser le répertoire Temp de Widnows au lieu de celui du .exe
[Free] impossible d'utiliser les sessionsMacro sous Outlook
Comment tester la valeur d'un optionbutton dans une macro Excel VB[Résolu] hashmap - comment utiliser containsKey ?
utiliser SSO avec Tomcat[JAVA] Utiliser KeyListener pour une exécution en mode console
Remplissage de texteBox par macro ??Modification de macro
Plus de sujets relatifs à : Utiliser * dans des macro #define ... ???


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR