INF: Reason C 6.0 Doesn't Contain DOS Versions of C2L and C3L

ID Number: Q61328

6.00 6.00a 6.00ax | 6.00 6.00a

MS-DOS | OS/2

Summary:

The alternate second and third passes of the Microsoft C Compiler

versions 6.0, 6.0a, and 6.0ax have a much larger pass size (the amount

of memory taken up in code and overhead for a pass of the compiler)

than their small-model counterparts.

This larger pass size negates any net memory gain under MS-DOS that is

made in not restricting data to DGROUP. Because of this fact, the

alternate second and third passes of the compiler for MS-DOS were not

shipped with the Microsoft C version 6.0, 6.0a, and 6.0ax packages.

Microsoft C/C++ version 7.0 solves this problem.

More Information:

The compiler message "Out of Near Heap Space" may be encountered in

pass two of the compiler when compiling moderate to large size modules

under MS-DOS. The solutions for this problem under MS-DOS are as

follows:

- Reduce the number of symbols in your module

- Reduce the size of the module

- Use the /EM compiler switch with Microsoft C 6.0ax

Under OS/2 with Microsoft C versions 6.0 and 6.0ax, you can just use

the /B2 or /B3 compiler switches specifying C2L.EXE or C3L.EXE,

respectively.

Additional reference words: 6.00 6.00a 6.00ax