Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.3 4.3bsd-beta 6/6/85; site noscvax.UUCP Path: utzoo!watmath!clyde!burl!ulysses!bellcore!decvax!ittatc!dcdwest!sdcsvax!noscvax!bmarsh From: bmarsh@noscvax.UUCP (William C. Marsh) Newsgroups: net.micro.pc Subject: Re: msc 3.0 Message-ID: <279@noscvax.UUCP> Date: Tue, 25-Mar-86 11:28:23 EST Article-I.D.: noscvax.279 Posted: Tue Mar 25 11:28:23 1986 Date-Received: Thu, 27-Mar-86 01:14:40 EST References: <670@wjvax.wjvax.UUCP> <314@omen.UUCP> Organization: Naval Ocean Systems Center, San Diego Lines: 41 Summary: Close, but not correct In article <314@omen.UUCP>, caf@omen.UUCP (Chuck Forsberg WA7KGX) writes: > In article <670@wjvax.wjvax.UUCP> curl@wjvax.UUCP (Jim Curl) writes: >>Upon implementing the change, I happily added paths to the INCLUDE environment >>variable for MSC 3.00 only to discover that it caused the error >> >> Command line error: argument list for `p0.exe' too big >> >>Apparently the INCLUDE variable is included in the total 128 characters >>as part of the command line. I wasn't able to account for all 128, though. >> >>Has anyone else encountered this problem? Is there an easy way around it? > > MSC 3.0 copies the environment into the program's data space at startup to > allow getenv() to operate as it does on Unix. A large environment will > reduce the space available for the stack and heap. The solution is to use > an 80386 ("what the 286 SHOULD have been -Bill Gates) in 32 bit address mode, > but that requires hardware and software changes. Sorry, but Jim had it right. P0 is the pre-processor for msc 3.0, and it gets passed all kinds of junk on its command line. If you have an INCLUDE environment variable, it gets put into an -Idirectories list. Plus, *all* the pre-#defined stuff is also included as -Dsymbol. Add any necessary filenames, and you should see how big the command line is. I found this out while trying to write a 'cc' for it (I don't like all the garbage cl prints out...). If you want to see what is passed, write a simple echo program, call it p0.exe in the current directory, then run cl or msc. Since microsoft is on the net, maybe we could influence them to have p0 look in the environment itself for INCLUDE's. This would save some valuable command line space for other things. Then they could make lseek, ftell, and fseek work in text mode and end up with a great compiler instead of just a good one. -- Bill Marsh, Naval Ocean Systems Center, San Diego, CA {arpa,mil}net: bmarsh@nosc uucp: {ihnp4,akgua,decvax,dcdwest,ucbvax}!sdcsvax!noscvax!bmarsh "If everything seems to be coming your way, you're probably in the wrong lane."