For my programming exercise in C#, I am trying to create an array of long, with a length of 0x1fffffff (536,870,911 in base10), however I got System.OutOfMEmoryException.
For the build, I targeted x64 system, and I am running VisualStudio2008 on Windows7 x64 with 8GB of RAM. It should be enough memory for the array (it works on JDK x64 and CPP project)
Any thoughts ?
const long MAX = 0x1fffffff; // 536870911 in base10
program.arr = new long[MAX];
for (long i = 0; i < MAX; i++)
{
program.arr[i] = i;
}
The CLR doesn't support any single object of size greater than about 2GB. You're asking for an array of 4,294,967,288 bytes - over twice what's supported.
You can use that much memory, but not in a single object (such as an array).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With