Accueil > Forum > > > > #define incremental
#define incremental
lundi 3 janvier 2005 à 14:31:30 |
#define incremental

garslouche
|
Salut à tous, je cherche à écrire une macro qui utiliserait un parmètre qui augmenterait à chaque utilisation. Par exemple si la macro s'appelle AUTO_INDENT et que j'écris : int i = AUTO_INDENT; int j = AUTO_INDENT; alors i =0 et j =1 et pour compliquer un peu je voudrais que ce nombre soit partagé par tous les fichiers qui incluent cette macro. Je compte combiner cettre macro avec l'opérateur ## pour que le compilateur crée tout seul des variables numérotées. Par exemple : int VAR = 100; int VAR = 200; et dans un autre fichier int VAR = 300; et que de lui-même il traduise ça en int var0 = 100; int var1 = 200; et int var2 = 300; Au final peu importe l'ordre dans lequel la numérotation se fait. Merci On ne force pas une curiosité, on l'éveille. .................................................Daniel Pennac
|
|
lundi 3 janvier 2005 à 21:10:13 |
Re : #define incremental

Funto66
|
Wow, intéressant mais je doute que ça soit possible en restant dans du C/C++ standard...
Tu peux toujours te créer ton propre préprocesseur ;)
--------------------------------------------------------- Patience et longueur de temps font plus que force ni que rage.... Coucous flingueurs 3D : http://www.freewebs.com/cf3d/
|
|
lundi 3 janvier 2005 à 21:30:53 |
Re : #define incremental

garslouche
|
Bah en fait je viens de repenser à un post que j'avais vu sur la meta-programmation. J'ai bon espoir de m'en sortir. J'en ferai peut-être une source si je trouve. Ca peut être interessant non ? (quoique pas très réutilisable)
On ne force pas une curiosité, on l'éveille. .................................................Daniel Pennac
|
|
lundi 3 janvier 2005 à 22:40:20 |
Re : #define incremental

plus_plus_fab
|
"... et pour compliquer un peu je voudrais que ce nombre soit partagé par tous les fichiers qui incluent cette macro."
Jusque la, ça va.
mais il faut bien se dire que le préprocesseur ne fait aucun calcul. Donc la solution est la variable globale static.
apres, pour demander à ce que le préprocesseur "resolve" VAR en var0,
ce n'est pas possible puisque le calcul du 0 se fait à l'exécution, et
entre le preprocesseur et l'execution, il y a la compilation ...
Les templates C++ n'apporteront rien non plus amha. On peut souvent
résoudre des calculs à la compilation avec les templates, et meme si le
calcul du 0 est résolu à la compilation (et non à l'execution), c'est
encore trop tard.
En fait le 0 doit etre connu avant la compilation, donc ni pendant, ni apres.
comme le dis Funto, Il faut que tu t'écrives un petit préprocesseur de
texte : progamme qui analyserai ton code et transformerai les VAR en
var0...
|
|
Cette discussion est classée dans : macro, int, var, auto, define
Répondre à ce message
Sujets en rapport avec ce message
Implémentation logicielle (2) [ par new0staff ]
J'ai déjà posé une question hier concernant ce sujet et je suis bloqué en ce moment au niveau du fichier géneré par le logiciel de modelisation Estere
gestion de memoire [ par gyzmo1 ]
Salut à tous, j ai un problème de fuite de mémoire, minime mais suffisamment important pour faire planter mon programme lorsque celui ci tourne des he
URGENT:Problème de communication série. [ par lambrosx ]
Bonjour, j'ai un soucis plutot embetant. J'ai un programme de communication série, dont j'ai trouvé des codes sources sur ce site. Je l'ai modifié, et
Usage des MACRO [ par wizzo ]
Salut a tous.Je relance la discussion eternelle sur l'usage des macro.En theorie, elles sont à proscrire car n'ayant aucune idée des scopes/portées de
plus court chement avec le cout [ par developvbdebut ]
Bonsoir tout le mondeJ'ai un probleme avec l'algo du plus cours chemin, je ne vois pas comment mis prendre. De plus, je dois affichier la distance e
Que fait ce #define ? [ par AsM0DeUz ]
Bonjour,Je suis en train d'essayer de comprendre un code mais je coince sur ceci :Dans le code ci-dessous, que fait le #define PROFILE(x) ? un define
[Define / MACRO] Est-ce possible de faire cela ? [ par Ilsundal ]
Bonjour a tous, Mon problème est le suivant : je souhaiterais savoir s'il était possible de remplacer la ligne suivante : IObject *myobj; //IObjec
#define VS const [ par jadoud ]
bjr, SVP si vous peuvez me aider et me dire la difference entre #define var_st et const var_st merci
Macro et template [ par mezaya ]
Bonjour à tous,j'ai un problème avec le préprocesseur c et l'utilisation de template.je n'arrive pas à résoudre le problème suivant :j'ai une macro :#
Aide, résolution d'un taquin [ par Micha1177 ]
Bonjour, Dans le cadre d'un projet, je doit élaborer une grille de taquin résoluble, et pouvoir effectuer le déplacement des cases, et ensuite concev
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|