Matt Joiner
Matt Joiner

Reputation: 118470

How to make GCC output to stdout?

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?

Upvotes: 33

Views: 14729

Answers (3)

sarnold
sarnold

Reputation: 104020

gcc -o /dev/stdout foo.c

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

Upvotes: 38

ergosys
ergosys

Reputation: 49009

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

gcc -S -o- in.c

Upvotes: 27

zvrba
zvrba

Reputation: 24546

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

Upvotes: -3

Related Questions