2010-06-01 11 views
15

Je suis en train d'utiliser le C préprocesseur sur le code non-C, et il fonctionne très bien, sauf pour la création de lignes comme celle-ci en haut:Comment supprimer les lignes ajoutées par défaut par le préprocesseur C en haut de la sortie?

# 1 "test.java" 
# 1 "<built-in>" 
# 1 "<command-line>" 
# 1 "test.java" 

Le problème est que ces lignes ne sont pas valides en Java. Est-il possible d'empêcher le préprocesseur d'écrire ce contenu? Je préférerais ne pas avoir à passer par autre chose pour enlever les 4 premières lignes à chaque fois.

+2

C'est la filthiest utilisation de C préprocesseur j'ai jamais vu ... Je souhaite que je pensais de quand je faisais le codage Java. –

+0

Je pensais qu'il n'y avait aucune raison pour que les codeurs C aient tout le plaisir quand il s'agit de code illisible. –

+1

Que signifient ces lignes: http://stackoverflow.com/questions/5370539/what-is-the-meaning-of-lines -starting-avec-un-hash-sign-and-number-like-1-ac –

Répondre

22

Si vous utilisez le préprocesseur gcc:

-P Inhibit generation of linemarkers in the output from the 
     preprocessor. This might be useful when running the preprocessor 
     on something that is not C code, and will be sent to a program 
     which might be confused by the linemarkers. 

de la page man cpp gcc

+0

Eh bien c'était facile :) –

Questions connexes