スタックオーバフロー回避策

スタックオーバ 組込みエンジニアとしての活動

 漠然とメモリに不安があるなと感じていることがある。プログラムが動かなくなることがいつ起こるんだろうと思っていることが分かりました。それは、スタックオーバフローで動かなることではないか?実際、プログラムが動かなくなるとそれはスタックオーバフローなのかわかるかどうかの問題もあるのだが、わかったとして、どうしたらいいか。の回答を下記に示す。メモリに関しては、記事メモリについて | mizunoの活どう を見てもらえばよいです。

解決策

  自動変数に大きな領域を宣言するとスタックオーバフローの危険性があると場合その変数にstatic を付けることもある。

解説

 スタック領域もRAM上に配置されているが、staticのRAMの領域とは異なり、もし一時的にスタックオーバフローを起きるような場合、staticを付けることで、スタックオーバフローを回避することができる。

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

楽しく学べるC言語 [ 長尾文孝 ]
価格:2,530円(税込、送料無料) (2025/2/15時点)


コメント

タイトルとURLをコピーしました