Домашняя страница библиотеки_c AVR

Синтаксис языка C

Библиотека языка C GNU glibc

Страницы развития библиотеки_с AVR

Главная страница

Инструкция пользователя

Содержание библиотеки_c

Часто задаваемые вопросы

Содержание по алфавиту

Демонстрационные проекты


<alloca.h>: Захват пространства в стеке


Детальное Описание

 

 

Функция

void

alloca (size_t __size)


Описание функции

void* alloca

(

size_t 

__size

 ) 

 

Захватывает __size байт памяти в стеке.

Это временное пространство автоматически освобождается при выходе из функции alloca(). В Avr-libc alloca() определяется как макрос, который оттранслирован в подставляемую функцию __builtin_alloca(). Тот факт, что код является подставляемым, означает то, что невозможно взять адрес этой функции, или изменять её поведение, связываясь с различными библиотеками.

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

alloca() возвращает указатель на начало захваченного пространства. Если захват вызывает переполнение стека, поведение программы неопределенно.

Внимание:

Избегайте использования alloca() в списке параметров вызывающей функции.

 

Подробнее про alloca см. Библиотека языка C GNU glibc/Распределение памяти/Автоматическая память с учетом размера переменной.

 

 

Hosted by uCoz