On Time RTOS-32 Documentation
Welcome
RTTarget-32
RTTarget-32 Programming Manual
Introduction
Running Win32 Programs without Win32
The i386 Microprocessor
RTLoc: Locating a Program
Running a Program on the Target
Cross Debugging
Using an IDE
The RTTarget-32 API
RTTarget-32 Native API
RTTarget-32 Header Files
DOS Emulation
DPMI Emulation
Win32 Emulation
Win32 Handles
Win32 Memory Management
Win32 File I/O
Win32 Console I/O
Win32 Date and Time Management
Win32 DLLs
Win32 Exception Handling
Win32 Thread Local Storage (TLS)
Win32 Memory Mapped Files
Win32 API Function Cross Reference
Adding other Win32 Functions
RTTarget-32's Memory Managers
Alternate Heap Manager RTTHeap
Extended RAM Management
ACPI Component Architecture
Demo Programs
Advanced Topics
Compiling and Linking with On Time RTOS-32
Redistributable Components of RTTarget-32
RTLoc Error Messages
RTTarget-32 Reference Manual
RTKernel-32
RTFiles-32
RTIP-32
RTPEG-32
RTUSB-32
|
Win32 Memory Management
RTTarget-32 defines functions for Win32's virtual memory (VirtualAlloc, VirtualFree), Win32 heaps (HeapCreate, HeapAlloc, etc.), and the local heap (LocalAlloc, etc.).
The Win32 memory management is implemented using one of two available RTTarget-32 memory managers: the fixed memory manager and the virtual memory manager with uncommitted memory support (both are described in section RTTarget-32's Memory Managers). Win32 memory management normally requires uncommitted memory support, and many compilers' run-time systems rely on it. Thus, if the fixed memory manager is used, problems can occur if:
- The application uses several different Win32 allocation function groups (for example, Heaps and VirtualAlloc).
- Several run-time systems are used (for example, because the main .EXE and additional DLLs with run-time systems have been linked).
In such situations, memory may be exhausted quickly with the fixed memory manager due to excessive allocation of uncommitted memory. RTTarget-32's virtual memory should be used in this case.
Win32 Emulation
Win32 Handles
Win32 File I/O
|