__stackavail()

Определение доступной памяти в стеке текущего потока

Прототип:

#include <inttypes.h>
#include <alloca.h>
size_t __stackavail( void );

Библиотека:

libc

Описание:

Функция __stackavail() считывает состояние регистра SP (Stack Pointer) и за счёт него определяет оставшееся до вершины стека пространство.


Note: Функции является платформо-зависимой и реализована с помощью inline-ассемблера. На ранних этапах поддержки новой архитектуры она может быть недоступна.

Возвращаемое значение:

Размер доступной части стека текущего потока в байтах.

Примеры:

#include <stdio.h>
#include <inttypes.h>
#include <alloca.h>
void main()
{
printf( "Stack size avail: %u bytes\n", __stackavail() );
alloca( 4096 );
printf( "Stack size avail: %u bytes\n", __stackavail() );
}

Классификация:

ЗОСРВ «Нейтрино»

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Да
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

alloca()




Предыдущий раздел: Описание API системной библиотеки