翻訳と辞書
Words near each other
・ スタッキング
・ スタッキング相互作用
・ スタック
・ スタック (曖昧さ回避)
・ スタックオーバーフロー
・ スタックサイロ
・ スタックス
・ スタックス (イヤースピーカー)
・ スタックスネット
・ スタックス・レコード
スタックフレーム
・ スタックポインタ
・ スタックマシン
・ スタックモデル
・ スタックリッジ
・ スタック・ウィズ・ミー
・ スタック型ウィンドウマネージャ
・ スタック構造
・ スタッグハウンド
・ スタッグハウンド装甲車


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

スタックフレーム : ミニ英和和英辞書
スタックフレーム[ちょうおん]
=====================================
〔語彙分解〕的な部分一致の検索結果は以下の通りです。

: [ちょうおん]
 (n) long vowel mark (usually only used in katakana)

スタックフレーム ( リダイレクト:コールスタック ) : ウィキペディア日本語版
コールスタック[ちょうおん]
コールスタック (Call Stack)は、プログラムの実行中にサブルーチンに関する情報を格納するスタックである。実行中のサブルーチンとは、呼び出されたが処理を完了していないサブルーチンを意味する。実行スタック (Execution Stack)、制御スタック (Control Stack)、関数スタック (Function Stack)などとも呼ばれる。また、単に「スタック」と言ったときにコールスタックを指していることが多い。コールスタックを正しく保つことは多くのソフトウェアが正常動作するのに重要であるが、その詳細は高水準言語からは透過的である。
== 概要 ==
コールスタックを使う目的はいくつかあるが、主たる目的は実行中サブルーチンの処理を完了して制御を戻す(呼び出し側に戻る)ときに、どこに戻ればよいかを覚えておくことである。例えば、次の擬似コードを考える。
subroutine DrawSquare(Point p1, Point p2, Point p3, Point p4)

サブルーチンDrawSquare内の4ヶ所からサブルーチンDrawLineを呼び出すとしたとき、DrawLineは4ヶ所のうちのどこに戻ればよいかを知る必要がある。一般にDrawSquareのコード内でDrawLineを呼び出しているそれぞれの箇所で、呼び出し処理の次の命令のアドレス(これをリターンアドレスと呼ぶ)をコールスタックに格納することでこれを実現する。
コールスタックはスタックとして構成されているので、呼び出し側はリターンアドレスをスタックに ''push'' し、呼び出されたサブルーチンが完了したときにリターンアドレスをコールスタックから ''pop'' する(そしてそのアドレスに制御を戻す)。呼び出されたサブルーチンがさらに別のサブルーチンを呼び出す場合も、リターンアドレスをコールスタックに push し、プログラムに書かれている通りに情報をスタックに積んだり下ろしたりする。コールスタックに割り当てられている領域を使い切ると「スタックオーバフロー」と呼ばれるエラーが発生する。あるサブルーチンに関する情報をコールスタックに載せることをワインド (winding)、逆にそれを削除することをアンワインド (unwinding) と呼ぶ。また、サブルーチン毎にコールスタックに格納する情報をスタックフレーム (Stack Frame) と呼ぶ。
1つの実行中のプログラム(より正確に言えばスレッド)には、1つのコールスタックが対応して存在する。シグナル処理や協調的マルチタスク処理で追加のスタックを使う場合もあるが、通常使用中のコールスタックは常に1つなので、これを単に「(そのタスクの)スタック」と呼ぶことがある。
高級言語では、コールスタックの詳細はプログラマからは見えない。関数のリストだけにアクセス可能で、スタックを構成しているメモリ自体にアクセスすることはできない。一方アセンブリ言語の多くでは、プログラマはスタックを操作する必要がある。プログラミング言語におけるスタックの詳細はコンパイラオペレーティングシステム命令セットなどに依存する。

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「コールスタック」の詳細全文を読む

英語版ウィキペディアに対照対訳語「 Call stack 」があります。




スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.