Bonjour,
J'avais fait part précédemment d'un problème rencontré à reconnaître, en fortran, les parties d'un code ne devant être pas être lue :
En gros, j'avais, qq part dans le code :
Code :
- ...
- #ifdef TOTO
- faire tata
- #endif
- ...
|
Je voulais que le code n'éxécute tata que si TOTO est définie.
Ce type de syntaxe semble passer en c++ et pas en fortran.
Depuis j'ai découvert le précompilateur cpp
que je ne conaissais pas et qui semble résoudre partiellement mon problème. En effet, il génère un nouveau texte de code qui tient compte de mon #endif. Le problème c'est que des lignes sont rajoutées en début du code qui ne sont plus acceptées à la création du fichier " *.o ". Pour en revenir au C++, partant de main.C :
Code :
- #include <iostream>
- using namespace std;
- #define TOTO
- int main()
- {
- #ifdef TOTO
- cout << "TOTO" << endl;
- #else
- cout << "TATA" << endl;
- #endif
- }
|
Je lance :
cpp main.C main.Cp
J'essaie ensuite de faire :
g++ -c main.Cp
et j'obtiens un message :
linker input file unused because linking not done
A quoi correspond ce message ? Est ce que j'ai mal compris ce que fait le précompilateur cpp (préparer la compilation ? )
Sinon, comment l'utiliser de façon à réaliser cette relecture du fichier en fonction des variables définies ?