Frage

Ich suche eine Option dazu gcc Dadurch lesen Sie eine Quelldatei aus der Standardeingabe, hauptsächlich, damit ich so etwas tun kann, um eine Objektdatei aus einem Tool wie zu generieren flex das generiert C -Code (flex's -t Option schreibt das generierte C in die Standardausgabe):

flex -t lexer.l | gcc -o lexer.o -magic-option-here

Weil ich mich nicht wirklich um die generierte C -Datei kümmere.

Existiert so etwas oder muss ich temporäre Dateien verwenden?

War es hilfreich?

Lösung

Ja, aber Sie müssen die Sprache mit dem angeben -x Möglichkeit:

# Specify input file as stdin, language as C
flex -t lexer.l | gcc -o lexer.o -xc -

Andere Tipps

flex -t lexer.l | gcc -x c -c -o lexer.o -

Grundsätzlich sagen Sie, dass der Dateiname - angeben, dass ein Dateiname ist - eine etwas Standardkonvention für die Aussage von "Standardeingabe" ist. Sie möchten auch das -C -Flag, damit Sie nicht verknüpfen. Und wenn GCC aus Standardeingaben liest, müssen Sie ihm sagen, welche Sprache dies mit -x ist. -xc sagt, es ist C -Code.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top