Newsgroups: comp.os.msdos.djgpp From: aquinas AT pacificcoast DOT net (Aquinas) Subject: Help me understand memory limits!! Keywords: memory newbie Date: Tue, 31 Mar 1998 07:50:30 GMT NNTP-Posting-Host: sd70-223.pacificcoast.net Message-ID: <3520a3d4.0@news.pacificcoast.net> Lines: 47 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk Okay, I'm new to this C/DJGPP/Programming stuff so bear with me.... Can someone direct me to a good explanation of memory allocation limits, and how to allocate large amounts of memory in DJGPP (presumably this involves DPMI servers and such). What I'm wondering right now is.... The following program crashes due to a stack dump of some sort (I'm somewhat shaky on what this means)... int main() { double x[10000][100]; int count; int count2; for (count=1; count < 10000; count++) for (count2=1; count2 < 100; count2++) { x[count][count2] = count2*count; printf("%d\n",x[count][count2]); } return 0; } Obviously all this program does is try to crash my making too big an array. It worked okay when modified to: int main() { double x[10][100]; int count; int count2; for (count=1; count < 10; count++) for (count2=1; count2 < 100; count2++) { x[count][count2] = count2*count; printf("%d\n",x[count][count2]); } return 0; } So in a DPMI/Protected mode environment like DJGPP, why can't you have a big-ass array like int x[1000000]? Is there a good explanation of this somewhere? Any help would be much appreciated. Thanks in advance, Joe Aquinas aquinas AT pacificcoast DOT net