Table 1 lists the stack frame requirements for each Metal C runtime function. All sizes are in bytes.
Function | AMODE 31 stack size | AMODE 64 stack size |
---|---|---|
abs | 256 | 512 |
atoi | 256 | 512 |
atol | 256 | 512 |
atoll | 1280 | 1536 |
calloc | 1024 | 1536 |
__cinit | 512 | 512 |
__cterm | 1024 | 1024 |
div | 256 | 512 |
free | 512 | 1536 |
isalnum | 256 | 512 |
isalpha | 256 | 512 |
isblank | 256 | 512 |
iscntrl | 256 | 512 |
isdigit | 256 | 512 |
isgraph | 256 | 512 |
islower | 256 | 512 |
isprint | 256 | 512 |
ispunct | 256 | 512 |
isspace | 256 | 512 |
isupper | 256 | 512 |
isxdigit | 256 | 512 |
labs | 256 | 512 |
ldiv | 256 | 512 |
llabs | 512 | 512 |
lldiv | 512 | 512 |
malloc | 768 | 1024 |
__malloc31 | 768 | 1024 |
memccpy | 512 | 512 |
memchr | 512 | 512 |
memcmp | 512 | 512 |
memcpy | 512 | 512 |
memmove | 512 | 512 |
memset | 256 | 512 |
qsort | 12801 | 17921 |
rand | 256 | 512 |
rand_r | 256 | 512 |
realloc | 1024 | 2048 |
snprintf | 3072 | 3584 |
snprintf when using e, E, f, F, g, G conversion specifiers | 32000 | 32768 |
snprintf when using e, E, f, F, g, G conversion specifiers with the L conversion prefix | 48896 | 49920 |
sprintf | 3072 | 3584 |
sprintf when using e, E, f, F, g, G conversion specifiers | 32000 | 32768 |
sprintf when using e, E, f, F, g, G conversion specifiers with the L conversion prefix | 48896 | 49920 |
srand | 256 | 512 |
sscanf | 2304 | 2560 |
sscanf when using e, E, f, F, g, G conversion specifiers | 4864 | 5632 |
sscanf when using e, E, f, F, g, G conversion specifiers | 5888 | 6656 |
sscanf when using e, E, f, F, g, G conversion specifiers with the L conversion prefix | 23040 | 23552 |
strcat | 512 | 512 |
strchr | 512 | 512 |
strcmp | 512 | 512 |
strcpy | 512 | 512 |
strcspn | 768 | 768 |
strdup | 1024 | 1536 |
strlen | 512 | 512 |
strncat | 512 | 512 |
strncmp | 512 | 512 |
strncpy | 512 | 512 |
strpbrk | 768 | 768 |
strrchr | 512 | 512 |
strspn | 768 | 768 |
strstr | 512 | 512 |
strtod | 4096 | 4352 |
strtof | 3072 | 3328 |
strtok | 768 | 1024 |
strtok_r | 1024 | 1536 |
strtol | 1024 | 1024 |
strtold | 21248 | 21248 |
strtoll | 1024 | 1024 |
strtoul | 1024 | 1024 |
strtoull | 768 | 1024 |
tolower | 256 | 512 |
toupper | 256 | 512 |
vsnprintf | 3072 | 3584 |
vsnprintf when using e, E, f, F, g, G conversion specifiers | 32000 | 32768 |
vsnprintf when using e, E, f, F, g, G conversion specifiers with the L conversion prefix | 48896 | 49920 |
vsprintf | 3072 | 3584 |
vsprintf when using e, E, f, F, g, G conversion specifiers | 32000 | 32768 |
vsprintf when using e, E, f, F, g, G conversion specifiers with the L conversion prefix | 48896 | 49920 |
vsscanf | 2304 | 2560 |
vsscanf when using e, E, f, F, g, G conversion specifiers | 4864 | 5632 |
vsscanf when using e, E, f, F, g, G conversion specifiers with the l conversion prefix | 5888 | 6656 |
vsscanf when using e, E, f, F, g, G conversion specifiers with the L conversion prefix | 23040 | 23552 |
Note: You
must add the stack size of the comparison function you supply to the
base value.
|