| delorie.com/archives/browse.cgi | search |
| Xref: | news2.mv.net comp.os.msdos.djgpp:6815 |
| From: | avh AT tornado DOT be (alain.vanhentenryck) |
| Newsgroups: | comp.os.msdos.djgpp |
| Subject: | Please help needed for huge vectors |
| Date: | Fri, 02 Aug 1996 18:49:47 GMT |
| Organization: | Tornado News Processing System |
| Lines: | 51 |
| Message-ID: | <4tvd8d$daq@tornix.tornado.be> |
| NNTP-Posting-Host: | port3.aarschot.tornado.be |
| To: | djgpp AT delorie DOT com |
| DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
Please is it possible to help me with submentioned program ?
I checked the FAQ200 and the online help with no results, maybe
overlooking something.
All is going well at compile time :
gcc -c -Wall -O2 err.c
But goes wrong at link time :
gcc -o err.exe err.o -lm
err.o : could not read symbols : Bad value
When decreasing MAXLONG to 4194303 the linker accepted my program.
4194304 also seems a magic number :
4194304 = 2**22
4194304 * 4 = 2**24
and I suspect the linker not being able to handle vectors with a size
greater than 2**24 bytes.
I solved my problem with the non elegant way to declare several
vectors.
Is there another way to handle an huge array, I really need it ?
Please help.
I am using an i80486 66MHz with 8Mbytes RAM and 325Mbytes free
on the hard disk, DJGPP V2, gcc version 2.7.2 and CWSDPMI release 1
loaded with the -p switch and running windows95 restarted in dos mode.
The offending program err.c :
#define MAXLONG 4194304
int v[MAXLONG];
int i;
void main()
{
for(i=0;i<MAXLONG;i++)
{v[i]=i;}
}
Thanks in advance.
Alain Van hentenryck.
avh AT tornado DOT be
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |