| www.delorie.com/archives/browse.cgi | search |
| Message-ID: | <38730022.24617B1@connection.com> |
| Date: | Wed, 05 Jan 2000 03:26:12 -0500 |
| From: | sam <samirw AT connection DOT com> |
| X-Mailer: | Mozilla 4.6 [en] (Win95; I) |
| X-Accept-Language: | en |
| MIME-Version: | 1.0 |
| Newsgroups: | comp.os.msdos.djgpp |
| Subject: | Re: Array crashes my program! |
| References: | <38729762 DOT 6F966CF7 AT netcom DOT ca> <83bt71t12n DOT fsf AT mercury DOT st DOT hmc DOT edu> |
| NNTP-Posting-Host: | pm2-149.connection.com |
| X-Trace: | 5 Jan 2000 03:40:53 -0500, pm2-149.connection.com |
| Lines: | 35 |
| To: | djgpp AT delorie DOT com |
| DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
| Reply-To: | djgpp AT delorie DOT com |
Nate Eldredge wrote:
> MM <mm AT netcom DOT ca> writes:
>
> > A simple program of the form
> > int main (void)
> > {
> > int array[1000000];
> > return (0);
> > }
> >
> > continually crashes my program. The symified error message complains
> > about something called
> > the __djgpp_exceptional_table.
> > If I decrease the size of the array it doesn't crash but leaving it as
> > is or making it bigger makes it crash
> > and I know I have enough ram to address that much memory.
> > Dynamically allocating that amount works fine. Anyone know what's
> > wrong?
>
> Local arrays in DJGPP programs are allocated on the stack, which is by
> default only 256K. Your array is clearly much larger, so you overrun
> the stack and your program crashes. See FAQ section 15.9 for ways to
> enlarge it, but your best bet is not to do it at all; try to find a
> solution involving malloc.
>
> --
>
> Nate Eldredge
> neldredge AT hmc DOT edu
Or just move the declaration to the global space by moving it above main ().
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |