Is it possible to get GCC to read from a pipe?

command-line, flex-lexer, gcc, pipe

Solution

Yes, but you have to specify the language using the `-x` option:

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

Problem

I'm looking for an option to `gcc` that will make it read a source file from the standard input, mainly so I could do something like this to generate an object file from a tool like `flex` that generates C code (`flex`'s `-t` option writes the generated C to the standard output): ``` flex -t lexer.l | gcc -o lexer.o -magic-option-here ``` because I don't really care about the generated C file. Does something like this exist, or do I have to use temporary files?

Original source