INF: Putting Global Variables in the Default Data Segment

ID Number: Q34069

3.00 4.00 5.00 5.10 6.00 6.00a 6.00ax 7.00 | 5.10 6.00 6.00a

MS-DOS | OS/2

Summary:

Uninitialized global data is placed in the default data segment,

DGROUP, in tiny, small, and medium memory models or if the data is

declared to be near. Initialized global data is placed in the default

data segment for all memory models unless /Gt is used and the data is

not declared to be near.

In C versions 5.1 and earlier, data is declared to be near with the

near keyword. In C 6.0, 6.0a, 6.0ax, and C/C++ version 7.0 the keyword

is changed to _near.

Declaring the data to be near ensures that the variable is referenced

with a 16-bit address, as opposed to the far 32-bit addresses, which

will make variables defined with the near keyword faster to access.

Additional reference words: 5.00 5.10 6.00 6.00a 6.00ax 7.00