Microsoft KB Archive/67707

INF: Windows 3.0 Does Not Support Static Data Segments > 64K ID Number: Q67707

3.00 WINDOWS

Summary:

Windows version 3.0 does not support static data segments that are larger than one memory segment (64K). This limitation has been removed from Windows version 3.1. In Windows version 3.0, Windows reserves the right to load any segment from the executable file into any location in memory. Because the loader does not necessarily load consecutive segments into contiguous memory, data structures such as huge arrays that require consecutive memory blocks are not guaranteed to be loaded correctly.

Under Windows 3.0, if an application requires a huge array, allocate the array dynamically, at run time, rather than statically, at compile time. This can be done by using the GlobalAlloc function to obtain a memory block that is accessed through a huge pointer.

Additional reference words: 3.00 3.10