[Dev-C++] Re: OT: Long command-lines
Open Source C & C++ IDE for Windows
Brought to you by:
claplace
|
From: Per W. <pw...@ia...> - 2003-07-19 14:34:51
|
While the poor command.com is limited to 128 characters, thats no problem for 32-bit programs. cmd has a limit of just below 2kB and Win32 itself allows 32kB. Any xx.com programs hare ancient MsDos history, since they are limited to 64kB code etc, by ising original CP/M file format. /Per W On Sat, 19 Jul 2003, Abhijit Shylanath wrote: > > This is somewhat OT, but I'll post it anyway since it may be of use to many. > > > One of the problems with gcc isn't gcc itself, but the command line of > > win32. Since the command line doesn't support arbitrary long command > > lines, some command lines that works perfectly on Unix machines will not > > work under Win32. > > GCC-make uses a different way of talking to other such programs - they don't > use the shell at all (I read it in the DJGPP FAQ; Google should turn up more > info). When I read your mail, I tried this makefile: > > -- Cut here -- > > OBJ_FILES=titan.o feebar.o losu.o foar.o into.o heaven.o andlast.o plugins.o > \ > notepad.o emacs.o vi.o o.stuff and.o wha.o andagain.o foobar.o reefa.o \ > sumdist.o laser.oi remac.o fury.o stupid.o comma.o stupid.o comma.o stupid.o > \ > rehea.o historik.o lesa.o meaga.o simpson.o homer.o illiad.o anderson.o \ > csda.o exams.o magic.lo distortion.zz foobarrr.ooo reak.o 3f.o andstuff.o \ > like.o this.o and i suddenly realize that i don_t need the extension. > > all: > gcc -Wall $(OBJ_FILES) > > -- Cut here -- > > And here's what GCC reported (only the last few lines are included) when I > ran `make': > > -- Cut here -- > > gcc: i: No such file or directory > gcc: don_t: No such file or directory > gcc: need: No such file or directory > gcc: the: No such file or directory > gcc: extension.: No such file or directory > gcc: no input files > D:\CODE\MINGW\BIN\MAKE.EXE: *** [all] Error 1 > > -- Cut here -- > > Clearly, the above command-line is well over the COMMAND.COM line-length > limit of 128 chars. You should have no problem at all using MinGW make. > > I also proceeded to repeatedly copy-paste the text so that the OBJ_FILES > variable came up to 283 lines, and `make' still ran fine. > > This arbitrary-size command-line transfer works between any two programs > compiled using GCC, so the code must be integrated with the EXE loader. I > tried it with my version of MinGW32 (GCC 3.2) and my program recognized all > 2302 args (from the above makefile of ~283 lines). > > This will NOT work if you run your program from GUMHAND.COM, only from > within another GCC compiled program (I don't know about `cross-platform' > programs, like DJGPP <-> MinGW32). > > -- > Abhijit Shylanath > Homepage: http://mudeth.tripod.com/ > > |