tags:

views:

83

answers:

3

GCC is normally instructed to output to a file via the -o switch. If this isn't provided it seems to decide on an appropriate name and output to that. How do I make GCC write its generated output to stdout?

+6  A: 
gcc -o /dev/stdout foo.c

Note that /dev/stdout is defined as a symlink: /dev/stdout -> /proc/self/fd/1.

sarnold
+2  A: 

Um, what are you going to do with a binary object file dumped to stdout? anyway, some programs accept the '-' (single minus, no quotes) character as replacement for stdout. If you're on linux, you can do -o /dev/fd/1

zvrba
+7  A: 

You can use -o-, for example to print an assembly listing:

gcc -S -o- in.c
ergosys