EasyManua.ls Logo

Texas Instruments TI-89 - Heapallocthrow

Texas Instruments TI-89
1398 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
848
Appendix A: System Routines — Memory Management
TI
-
89 / TI
-
92 Plus Developer Guide
Not for Distribution
Beta Version January 26, 2001
HeapAllocThrow
Declaration:
HANDLE
HeapAllocThrow
(DWORD
Hlen
)
Category(ies):
Memory Management
Description:
Allocate a block of heap memory of the given size and return its handle
throwing a ER_MEMORY error if there is not enough memory (compared
with
HeapAlloc
which returns H_NULL if there is not enough memory).
Use
HeapDeref
to dereference the handle and get a pointer to the actual
memory. Note that a pointer to the heap is valid only as long as heap
compression is not done.
Inputs:
Hlen
Length of block of memory to allocate (all odd sizes are rounded
up to be even).
Outputs:
HANDLE of memory block allocated, throws an ER_MEMORY error if not
enough memory (
HeapAlloc
just returns H_NULL in that case).
Assumptions:
Hlen
may not exceed 65520 bytes and the minimum block size is eight
bytes.
Side Effects:
May cause heap compression.
This routine may throw an ER_MEMORY error.
Availability:
All versions of the TI
-
89 / TI
-
92 Plus.
TI
-
89 / TI
-
92 Plus
Differences:
None
See Also: HeapAlloc, HeapFree, HeapFreeIndir
Example:
HANDLE hBlock1=0, hBlock2=0; /* set to 0 for HeapFreeIndir */
TRY
hBlock1 = HeapAllocThrow( 1000 );
hBlock2 = HeapAllocThrow( 2000 );
/* . . . use hBlock1, hBlock2, hBlock 3 . . . */
HeapFreeIndir( &hBlock1 );
HeapFreeIndir( &hBlock2 );
ONERR
/* Free memory we may have allocated, Note: HeapFreeIndir checks * HANDLE first */
HeapFreeIndir( &hBlock1 );
HeapFreeIndir( &hBlock1 );
PASS; /* pass error on up */
ENDTRY
}

Table of Contents

Other manuals for Texas Instruments TI-89

Related product manuals