From: j DOT aldrich6 AT genie DOT com Message-Id: <199607130547.AA031626822@relay1.geis.com> Date: Sat, 13 Jul 96 05:31:00 UTC 0000 To: gmontem AT sfsu DOT edu Cc: djgpp AT delorie DOT com Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii Subject: Re: RAMdisk (was: Bug in stubi 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