On Monday 15 May 2006 13:32, John Love-Jensen wrote: > Hi Andre, > > I have not run into the number-of-dimension limit of the compiler. > > But I've never tried 8 (or more) dimensions! I investigated it further and i can limit it to 9 dimensions > > I don't think the ISO 9899:1999 (C99) or ISO 9899:1989 (C89) have limits on > the number of dimensions. I presume the only constraint is available > memory for your architecture. that would be nice > > Calculate out how many bytes of storage your technique will utilize: > sizeof(double) * n1 * n2 * n3 * n4 * n5 * n6 * n7 * n8; > Is that within the constraint of your platform? For instance, PC-DOS that > limit would be 65536 bytes. My system is a i686-pc-linux-gnu with enough memory. I thought that perhaps the compiler needed a maximum dimension constraint. > > Also note: putting arrays (or any sort of data) in header files is > strongly discouraged. If two different source files include that same > header file, each translation unit will get its own copy of that data. > Header files are for declarations of things (no storage reserved), not > definitions of things (bytes of code or data allocated). I know. Perhaps the best way for such a big array is to create a file e.g called bigarray.cc and one bigarray.h where the array is declared extern. > > Also, as mentioned already, putting large arrays on the stack is > discouraged, because the stack is usually significantly smaller than the > heap (or in C++ lingo, the global store). I don't put them on the stack, so ... > > Sincerely, > --Eljay Thank you for your kind response, regards Andre