Mail Archives: djgpp/1996/07/15/12:37:11
Reply to message 5482317 from GMONTEM AT SFSU. on 07/12/96 3:11PM
>I may sound stupid, but what are pipes, and what does the -pipe do? Ack.
>I'm not very familiar with all of the command line options, so bear with
>me. :( Anyways, is there a document on all of the command line options
>GCC supports?
When you type something like this:
type foo.doc | more
it tells DOS to take the output from the 'type' command and send it as input
to the 'more' command. This is known as "piping". Pipes are implemented
in different ways on different systems; on Unix (a true multitasking OS), both
programs run simultaneously, with the output of the one directly connected
to the input of the other. Under DOS, however, piping is done by means of
intermediate files: the output of the first command is saved to a file, which
is
then read by the second.
As far as -pipe for gcc, that command tells gcc to use pipes to transfer data
between the various compiler programs, rather than creating its own inter-
mediate files. This is pretty much useless under DOS, however, because
DOS uses intermediate files for piping anyway. In fact, non-piped gcc can
be given a fair increase in speed by making the TMPDIR variable (where
gcc looks to put its intermediate files) point to a ramdisk, because then
all the data would be transferred to and from RAM. Only do this, however, if
you have enough physical RAM to make it worthwhile. (A minimum of 8
megs is recommended by the FAQ.)
The gcc command-line options are extremely detailed, but there is a
perfectly handy reference available in the info docs, under (surprise!)
"info gcc". :)
John
- Raw text -