情報科学 の スタックオーバーフローに関する解説。

株式会社 日立ソリューションズ

HITACHI Inspire the Next

  • ホーム
  • ソリューション・商品
  • 事例紹介
  • セミナー・展示会
  • ビジネスコラム
  • 企業情報
  • お問い合わせ

スタックオーバーフロー

読み方、または別称:すたっくおーばーふろー

スタックオーバーフロー (stack overflow)の現象は、プログラムを組んでいる最中で関数の呼び出しが多すぎる時に発生する、一種のバッファオーバーフローである。
この現象は、オペレーティングシステムや実行オプションで発生するが、それはコールスタックに格納できる情報量には上限があるからである。つまり、コールスタックに蓄積するデータ量が多すぎるとスタックはオーバーフローしてしまい、プログラム側で対策をとっていないと耐え切れずにクラッシュしてしまう。
スタックオーバーフローの最大の原因は再帰作業で起こる無限ループである。ただし、末尾最適化を持った言語では末尾再帰をループへ展開することができるので、末尾再帰ではスタックオーバーフローは発生しない。その理由は、末尾再帰はループ処理に最適化されるためスタックを消費しないからである。
別の原因は、スタック上に大きすぎる配列を確保しようとすることで、コールスタックに格納できる情報量には上限があるため、大きな局所変数はコールスタックに格納しないで、ヒープ領域などを利用すべきである。

ページトップへ戻る

話題の用語

ITと社会用語辞典

ワークロード

ワークロードとは、システムのパフォーマンスを適正な状態に保つための指標のこと。

インターネット用語辞典

ライフログ

ライフログとは、人間の活動の記録(行動履歴)をデジタルデータとして記録すること、およびその記録のことである。

ページトップへ戻る

情報漏洩防止ソリューション 「秘文」

ITのお悩みをソリュっと解決! 特命課ソリュートくんがいく!

『オムニチャネル』から商品を探すページです。日立ソリューションズは、コンサルティングからシステム構築、サポートとトータルソリューションをご提供するシステムインテグレーション企業です。

ページトップへ戻る