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