68

標準入力からソースファイルを読み取るオプションを探しています。主に、 Cコードを生成するgccようなツールからオブジェクトファイルを生成するために、このようなことを行うことができます(のオプションは、生成されたCを書き込みます標準出力へ):flexflex-t

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

生成された C ファイルはあまり気にしないからです。

このようなものは存在しますか、それとも一時ファイルを使用する必要がありますか?

4

2 に答える 2

83

はい。ただし、-xオプションを使用して言語を指定する必要があります。

# Specify input file as stdin, language as C
flex -t lexer.l | gcc -o lexer.o -xc -
于 2009-06-16T20:03:28.250 に答える
21
flex -t lexer.l | gcc -x c -c -o lexer.o -

基本的に、ファイル名は-. ファイル名が であると指定すること-は、「標準入力」と言うためのやや標準的な規則です。また、-cフラグが必要なので、リンクを行っていません。そして、GCC が標準入力から読み取るとき、これがどの言語であるかを伝える必要があります-x-x cそれはCコードだと言います。

于 2009-06-16T20:07:10.910 に答える