2010-06-01 10 views
15

Próbuję użyć C preprocesor na kodzie non-C, i to działa dobrze z wyjątkiem tworzenia linii, jak to u góry:Jak usunąć linie dodane domyślnie przez preprocesor C do górnej części wyjścia?

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

Problemem jest to, że linie te nie są ważne w Javie. Czy istnieje sposób, aby preprocesor nie pisał tych rzeczy? Wolałbym nie uruchamiać tego poprzez coś innego, aby za każdym razem usunąć pierwsze 4 wiersze.

+2

To filthiest wykorzystanie C preprocesora, jakie kiedykolwiek widziałem ... Życzę myślałem z tego, kiedy robiłem kodowanie Java. –

+0

Uznałem, że nie ma powodu, dla którego kodery powinny mieć całą zabawę, jeśli chodzi o nieczytelny kod. –

+1

Co oznaczają te linie: http://stackoverflow.com/questions/5370539/what-is-the-meaning-of-lines -startowanie-z-hash-znak-i-numer-jak-1-ac –

Odpowiedz

22

Jeśli używasz gcc preprocesora:

-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. 

od strony man gcc cpp

+0

Cóż, to było łatwe :) –

Powiązane problemy