wilf@niksula.hut.fi (Johan Wilhelm Wikman) (10/05/90)
Hello, Glockenspiel C++ v1.2 and Microsoft C v5.1 users!
Has any of you hit the heap size limit of Microsoft C v5.1,
apparently in its second pass (C2.EXE)? This problem demonstrates
itself in the error message:
C1002: out of heap space
when compiling a C++ application which includes quite many class
headers, plus some of the OS/2 and SQLBase headers as well. The compiler
manual tells us:
"The compiler has run out of dynamic memory space. This usually means
that your program has too many symbols and / or complex expressions.
To correct the problem, divide the file into several smaller source files,
or break expressions into subexpressions."
We have long ago abandoned the ordinary pass 1 executable (C1.EXE) and
use the 'large' version (C1L.EXE) instead, but apparently there is no
such 'large' version for the second and third passes. We know that
there are 'large' versions in MS-C v6.0, but we cannot use it with
Glockenspiel v1.2, because the runtime libraries are not 100% compatible.
Following the suggested advice is not easy, because the application source
file itself is far from large (about 300 lines of C++ code); the problem is
that the class hierarchy that the application includes, is quite large
(several dozens of class headers).
Any suggestions? Are we forced to switch to MS-C 6.0 and Glockenspiel 2.0?
Are there some C++ / C language features which cause a lot of dynamic memory
to be consumed when compiling?
thanks
Johan
wilf@niksula.hut.fi
You could also try
wikman_johan_nok@smail.elisa.fi
hulkkonen_timo_nok@smail.elisa.fi