cc1plus: out of memory allocating 33554432 bytes after a total of 38465536 bytes
Pavel Saviankou
saviankou@web.de
Tue Feb 13 15:56:00 GMT 2007
Hi 2 all,
i try still to compile a big source. (see mails with subj: ' "virtual memory
exhausted: Out of memory" with a large static array ')
Now i try another way.
I generate a source, where i do allocate an array dynamicaly in the heap and
fill it out line by line with values.
The values are irregular, so i have to have every value. (cannot implement
some prescription for evaluation of them)
The array has 7 dimensions. In every dimension 7 points. (can and will be
more)
My preprocessed source is ~51Mb and contains lines like
...
void __create_array()
{
if (!__FLAG_NAME)
{
__ARRAY_NAME = new REAL******[P1X_N];
for (unsigned i=0; i<P1X_N; i++)
{
__ARRAY_NAME[i] = new REAL*****[P1Y_N];
for (unsigned j=0; j<P1Y_N; j++)
{
__ARRAY_NAME[i][j] = new REAL****[P1Z_N];
for (unsigned kk=0; kk<P1Z_N; kk++)
{
__ARRAY_NAME[i][j][kk] = new REAL***[P2X_N];
for (unsigned l=0; l<P2X_N; l++)
{
__ARRAY_NAME[i][j][kk][l] = new REAL**[P2Y_N];
for (unsigned mm=0; mm<P2Y_N; mm++)
{
__ARRAY_NAME[i][j][kk][l][mm] = new REAL*[P2Z_N];
for (unsigned ss=0; ss<P2Z_N; ss++)
{
__ARRAY_NAME[i][j][kk][l][mm][ss] = new REAL[KF_N];
}
}
}
}
}
}
...
__ARRAY_NAM[0][0][0][0][0][0][0] = 0.00034;
__ARRAY_NAM[0][0][0][0][0][0][1] = 0.00024;
...
__ARRAY_NAM[6][6][6][6][6][6][5] = 10.00034;
__ARRAY_NAM[6][6][6][6][6][6][6] = 0.00024;
....
__FLAG_NAME = true;
}
}
One routine to clean the memory and "main" routine, where i play with the
array (interpolate, build a graph of function and so on.)
If i compile a preproccessed source i get the error message "cc1plus: out of
memory allocating 33554432 bytes after a total of 38465536 bytes"
How i have to interpret it?
What the values " 33554432 " and "38465536 " are?
About the system.
Linux NAME 2.6.20-rc7-2-default #1 SMP Thu Feb 1 13:34:44 UTC 2007 i686 i686
i386 GNU/Linux
g++ (GCC) 4.1.2 20070115 (prerelease) (SUSE Linux)
3Gb RAM, 120 Gb swap.
Regards,
Pavel.
More information about the Gcc-help
mailing list