The information in this article applies to:
SYMPTOMSApplications or libraries that create multiple threads and worked under Windows CE 2.0 may encounter out-of-memory conditions when run under Windows CE version 2.1. CAUSEWindows CE 2.1 now uses the stack reserve field in the program executable header. The Visual C++ linker default reserve is 1 MB. RESOLUTIONUse the /STACK switch in the linker settings, or the module definition file STACKSIZE directive, to specify a lower default stack reserve. STATUSMicrosoft is researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available. MORE INFORMATIONPrevious versions of Windows CE did not use the stack reserve field in the program executable header. Even though the linker default reserve was 1 MB, the operating system ignored this field, and used a predefined lower value. In Windows CE 2.1, this field is now used and may result in virtual memory being consumed quicker than anticipated. To circumvent this behavior, just add the /STACK switch to the linker settings with a more reasonable reserve value, such as
or use the STACKSIZE directive in a module definition file:
The stack commit parameter for these switches is not currently used by the
Windows CE operating system.
Additional query words:
Keywords : kbOAK kbVC500 kbWinCE210 |
Last Reviewed: July 28, 1999 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |