On Sunday, 3 March 2013 at 16:02:31 UTC, Sparsh Mittal wrote:

Assuming double.sizeof==8 on your machine, You're requesting 1024*1024*1024*8*8 bytes = 68GB, do you have that much RAM available?
You are completely correct, however in C, one could do:

const long DIM = 1024L * 1024L * 1024L* 8L ;
int  main() {
   double signal[DIM];
 }

which runs fine. So, I was sort of looking for some solution like this.

For a start, that's not equivalent. The C version is creating a static array, the D version is a dynamic one. The C version is allocated on the stack, the D on the heap.

I'm pretty certain the C version doesn't actually work as 68GB will have completely clobbered the stack.

Reply via email to