AVR Libc Home Page AVRs AVR Libc Development Pages
Main Page User Manual Library Reference FAQ Alphabetical Index Example Projects

関数

<alloca.h>: スタック内の空間確保

関数

void * alloca (size_t __size)

関数ドキュメント

void* alloca ( size_t  __size )

呼出し元のスタックフレーム空間に__sizeバイトを確保します。

この一時的な空間は、alloca()の呼出し元の関数が終わる時に自動的に開放されます。avr-libcは、alloca()をマクロとして定義しています。そして、インライン実装された__builtin_alloca()関数に変換されます。コードがインライン実装されているということは、この関数のアドレスを認識することは不可能であり、他のライブラリとリンクされることで動作が変ることを意味しています。

返値:
alloca()は、割り当てた空間の開始アドレスのポインタを返します。 空間確保がスタックオーバーフローをの原因となるなら、プログラムの動作は未定義です。
警告:
alloca()を関数呼出しの引数のリストに含めるのは避けてください。

Automatically generated by Doxygen 1.7.2 on Wed Feb 16 2011.

翻訳更新:2011年10月11日 by cega