2010-01-26 10 views
1

gcc 4.4.2 c89Sortie vers un fichier texte le code de pré-compilateur

J'ai un fichier appelé main.c.

Je veux le résultat du pré-compilateur et l'enregistrer dans un fichier texte.

J'ai fait ce qui suit qui crée un fichier texte, mais il n'y a rien dedans. C'est zéro octet.

gcc -E main.c | > main.txt 

Un grand merci pour toutes les suggestions,

+0

Une extension (un peu) standard pour le code pré-traité est '.i' –

+0

Remarque: C'est le code source ** prétraité **. Les précompilés (en-têtes) sont sous forme binaire et le résultat n'est pas seulement le préprocesseur, mais aussi certaines des étapes du compilateur. –

Répondre

1

Vous n'avez pas besoin d'utiliser un opérateur de tuyau pour rediriger la sortie vers un fichier texte. Il suffit d'utiliser

gcc -E main.c > main.txt 
+0

Trouvé la réponse dans ce poste http://stackoverflow.com/questions/2133009/how-can--compile-c-code-that-has-already-been-c-pre-processed-with-gcc. Cependant, j'ai essayé et ça n'a pas marché pour moi. Je recevais quelques erreurs en disant qu'il ne pouvait pas trouver des fichiers d'en-tête. Cependant, c'est la bonne façon de le faire. Merci. – ant2009

+0

@robUK: quoi? . –

1

se débarrasser de la |, ou utiliser gcc -E main.c -o main.txt.

1

Vous voudrez peut-être examiner le programme 'cpp', qui est le préprocesseur C utilisé par gcc.

cpp in.c > out.c 
2

En dehors de l'erreur évidente:

gcc -E main.c > main.txt 

... vous pouvez également utiliser le préprocesseur C directement:

cpp main.c > output.c 

... qui a l'avantage d'être independed du compilateur et possible d'utiliser dans une autre chaîne d'outils.

Dans les deux cas, en cas de problème, consultez le préprocesseur command line options.

Questions connexes