Provided by:
manpages-ja-dev_0.5.0.0.20060115-1_all 
GNU意
通常 gcc は alloca() の呼び出しをインラインコードに変換する。 -ansi
オプションまたは -fno-builtin オプションを指定した場合は、
この操作は行われない。 だだし、デフォルトでは glibc 版の <stdlib.h> は
<alloca.h>
をインクルードしており、これには以下の行が含まれているので注意すること。
# define alloca(size) __builtin_alloca (size)
独自の __builtin_alloca (size) 関数があると厄介な結果になる。
このコードはインライン化されているので、
この関数のアドレスを取得したり、
他のライブラリをリンクして動作を変更することはでい覆ぁ
通常このインラインコードはスタックポインタを移動する 1 つの命令
(instruction) から構成されており、
スタックオーバーフローをチェックしない。 よって NULL
エラーが返されることはない。
グ
alloca() 関数は、機種とコンパイラに依存する。
多くのシステムでは実装にバグがあるので、 この関数の使用は推奨されない。
多くのシステムにおいて、関数コールの引た瑤離螢好汎發任 alloca()
が使えない。 これは、 alloca() によって予約されるスタック領域が、
関数引た瑤忙箸錣譴襯好織奪領域の中に現れてしまうためである。
目
brk(2), pagesize(2), calloc(3), malloc(3), realloc(3)