From: mcastle AT cs DOT umr DOT edu Subject: compiling large files To: djgpp AT sun DOT soe DOT clarkson DOT edu Date: Mon, 19 Oct 92 0:16:50 CDT I've been working on compiling the latest version of the graphics package PBMPlus with djgpp. Everything went fine except for compiling one of the modules dealing with the tiff libraries. Evidently, the fax3 method of compression uses a state-machine approach. While the .c file was ~28k, the cpp output .i file was ~647k and the assembler source file was ~1516k! I kept having problems compiling. cc1 kept choking with Exception 6 (illegal op code?), but when I used debug32 instead of go32, it choked with Exception 14 (page fault). I then stripped out everything except vanilla dos and stacker. go32 then started having exception 14, but I managed to get a compile done with debug32. During all this, I would get a paging file ~8000k, and I have 8 megs on my machine, so cc1 needed something on the order of 16megs to do the compilation. I haven't tried to recompile yet using go32, because it took 45 minutes to do the last one. I'm thinking my copy of go32.exe is corrupted, so I'm going to get a new copy and see if that works any better. Anyway, what I want to know is: for a .i file of ~647k (most of which is array declarations, ie more data than code), is 16megs of memory typical for a compilation? If I was doing any optimizations, I wouldn't be surprised, but gee... that's a pretty hefty requirement. I'm just glad I have a pretty speedy harddrive. Also, when building under debug32, I noticed that the paging file started building when there was 20k of real memory free (actually, it may have been 60k, but it was so long ago, I can't remember). As the paging file increased in size, I noticed the real memory kept decreasing in size until it got down to about 8k. I assume this was for building the page tables. I'm wondering if before I stripped out my 3meg ramdrive and 1meg disk cache, and trying to compile with only 4megs of free memory, if it was running out of real memory building the virtual memory page tables, thus causing the page fault. Btw, I had 12megs free on the drive I was using for the paging files, and running out of disk space was not the problem. I'm curious if anyone else has had any similiar problems? I have made extensive use of go32 virtual memory capabilities many times (mostly in using pbmplus on large files when I only had 4megs of ram), and not had any problems, but this is the first time I've created this large of a swap file. Now to get a fresh copy of go32.exe.... mrc