#1 Le 15/10/2014, à 12:54
- dva2tlse
passer un paramètre au préproc' de gfortran ou gcc
Bonjour les totos du forum,
j'utilise gfortran pour développer un programme qui a parfois besoin de quelques vérifications. (!)
Pour ne pas trop alourdir mon code, je voudrais que soit compilées différemment la version "de production" du programme, par rapport à celle de test.
Ainsi j'aurais :
#ifdef check
PARAMETER NBVOLS=1
#else
PARAMETER NBVOLS=214
#endif
donc la partie "calcul" de mon programme qui se fait pour chaque vol serait allégée, et par contre la compilation conditionnelle se ferait pour plusieurs autres passages de test qui sont inutiles en production.
NB; je bosse sur une machine RHEL, mais j'ai xubuntu chez moi d'où mon utilsation de ce forum.
merci,
David
xubuntu 22.04 dans un PC assemblé
PS: Dis toto, pourquoi l'univers existe-t'il ?
Je vais y réfléchir avec Morphée et lui dès avant 22h55, donc ici, il faut se contacter auparavant.
Hors ligne
#2 Le 15/10/2014, à 15:20
- claudius01
Re : passer un paramètre au préproc' de gfortran ou gcc
Pour ce qui est de gcc (pour gfortran, j'imagine que cela doit être similaire), c'est l'option -D... (cf. gcc(1) - Linux man page):
-D name=definition
The contents of definition are tokenized and processed as if they appeared during translation phase three
in a #define directive. In particular, the definition will be truncated by embedded newline characters.
If you are invoking the preprocessor from a shell or shell-like program you may need to use the shell's
quoting syntax to protect characters such as spaces that have a meaning in the shell syntax.
If you wish to define a function-like macro on the command line, write its argument list with surrounding
parentheses before the equals sign (if any). Parentheses are meaningful to most shells, so you will need
to quote the option. With sh and csh, -D'name(args...)=definition' works.
-D and -U options are processed in the order they are given on the command line. All -imacros file
and -include file options are processed after all -D and -U options.
Dernière modification par claudius01 (Le 15/10/2014, à 15:21)
Hors ligne
#3 Le 15/10/2014, à 16:15
- dva2tlse
Re : passer un paramètre au préproc' de gfortran ou gcc
Ok merci; c'est bien cela que je cherchais; j'avais dû lire quelque part que ça existait, mais je ne l'avais jamais utilisé; donc je verrai demain au boulot sur la RHEL si ça me convient.
Merci encore et bonsoir,
David
xubuntu 22.04 dans un PC assemblé
PS: Dis toto, pourquoi l'univers existe-t'il ?
Je vais y réfléchir avec Morphée et lui dès avant 22h55, donc ici, il faut se contacter auparavant.
Hors ligne