Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 15/10/2014, à 13: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, à 16: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, à 16:21)

Hors ligne

#3 Le 15/10/2014, à 17: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