Re: Windows XP memory limitation? [message #37342 is a reply to message #37221] |
Tue, 09 December 2003 08:23  |
Karl Schultz
Messages: 341 Registered: October 1999
|
Senior Member |
|
|
"David Yip" <dcw_yip@yahoo.com> wrote in message
news:201431cc.0312081038.47b3503e@posting.google.com...
> Thanks everyone for the responses. Unfortunately none of them worked.
> Contrary to what RSI says, there must be a built in memory limitation
> or bug in IDL. I'm running 6.0 by the way. Once IDL crashes out with
> the memory error, if I type in "BYTARR(120000000)" in the command
> window I get "Unable to allocate memory: to make array." Even though
> I still should have about 2GB of RAM available. I'm using the /3GB
> flag in XP Pro. But if I try to allocate the same amount of memory in
> C using "malloc(120000000)" it works just fine. This is while IDL is
> in it's crash state. So there is that much available memory available
> in the system. In fact if I use "malloc(1200000000)" in C it still
> works. That's 10 times the amount of memory that fails under IDL
> under the same conditions.
There's still a big difference in the largest contiguous block of memory
that you can allocate from a stand-alone C program, a Win32 application, and
a Win32 application with MFC. If you build your C test program as a Win32
app with MFC, I doubt that it will be able to allocate a contiguous block as
big as a simple console app can.
You may also want to read the thread "Memory Headaches" posted to this
newsgroup starting Aug 1, 2002. There is a lot more detail in the thread
and some mention of some tools you can use to determine what is fragmenting
your memory space.
IDL has no self-imposed memory limitations that might be responsible for
your observations.
Karl
|
|
|