Turing : le préprocesseur

Préprocesseur Fortran

L'option -WF du système de compilation Fortran permet la transmission d'options à la composante préprocesseur cpp.

Le fichier source devra alors être suffixé par l'un des suffixes .F, .F95, .F90, .F03 ou bien .F08.

L'option -qsuffix=cpp=suffixe permet de spécifier tout autre suffixe.

Exemple

$ mpixlf90_r -WF,-DDIM=5,-DDOUBLE source_cpp.F90
$ mpixlf90_r -qsuffix=cpp=f90 -WF,-DDIM=5,-DDOUBLE source_cpp.f90
$ cat source_cpp.F90

#define VAL 1.
#ifdef DOUBLE
#  define MYKIND 8
#else
#  define MYKIND 4
#endif
program trucc
  implicit none
  real(kind=MYKIND),dimension(DIM) :: tab
  tab(:)=VAL
  print *, kind(tab)
  print *, tab
end program trucc

Préprocesseur C/C++

Voici la liste des options les plus utilisées qui s'adressent au préprocesseur cpp :

Options Descriptifs
-E Sortie du préprocesseur sur la sortie standard (stdout)
-P Sortie du préprocesseur dans un fichier suffixé par .i
-Dmacro[=[valeur]] Permet de donner une valeur à une macro (idem #define macro=valeur)

Exemple

$ mpixlc_r -E main.c
$ mpixlcxx_r -P main.C
$ mpixlc_r -DDIM=1024 main.c
$ cat main.c

int main(int argc,char **argv) {
  double t[DIM];
  int i;

  for (i=0; i<DIM; i++)
     t[i] = 0;

  printf(''t[%d]=%fn'',DIM-1,t[DIM-1]);
}

Remarques :

Les options -E/-P du système de compilation C permettent de n'exécuter que la composante préprocesseur cpp.