Other than the 1/2 the available memory thing (which may be the
culprit), neither am I.
Check out objdump on the binary to see the sizes and loading locations of
your various segments. You should be able to tell if your program is over
the 2G limit. Some systems will allow you to use more
The retard factor is kicking in on me today.
I have a program that uses quite a bit of buffer space. There are four
major chunks of buffer space, three declared something like short
mybuffer[32][4M], and the fourth int myotherbuffer[4][4M]. Total
buffer usage comes in at somewhere under
I have a program that uses quite a bit of buffer space. There are four
major chunks of buffer space, three declared something like short
mybuffer[32][4M], and the fourth int myotherbuffer[4][4M]. Total
buffer usage comes in at somewhere under 800MB.
by 4M do you mean 4*1024*1024?
Now,
Charles Lockhart wrote:
I kind of remember from somewhere that if you try to load a program
that requires greater than half the available heap then this'll
happen, but I've got 3GB of ram on this machine, and without this
program running, I'm only using about 700MB. So that *shouldn't* be
Tim Newsham wrote:
by 4M do you mean 4*1024*1024?
Yeppers.
If you declare local variables (non-static) they are allocated
on the stack. If you declare global variables they are either
in the BSS or data segment (depending on if they are initialized
to zeros or other values). There are