C言語なら俺に聞け(入門篇) Part 42
■ このスレッドは過去ログ倉庫に格納されています
0786デフォルトの名無しさん
2009/01/21(水) 18:54:39>割り付けによってスタックオーバーフローが起った場合の プログ
>ラムの動作は定義されていない。
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/alloca.3.html
NULLなどの特殊な値がかえってくるわけではなく、成功失敗は
プログラムからは決定できないので、呼び出すのは一種のバクチ
>多くのシステムにおいて、関数コールの引き数のリスト内では
>alloca() が使えない。
>これは、 alloca() によって予約されるスタック領域が、
> 関数引き数に使われるスタック領域の中に現れてしまうためである。
>>784の言う通り
スタックポインタを操作する危険な関数で、仕様も素性もわからない
関数を標準ライブラリにあるからという理由で、気軽に「合成」して
使うと思わぬ落とし穴に嵌る可能性があるというお話
■ このスレッドは過去ログ倉庫に格納されています