Author:あろは (alohakun) WAKATSUKI toshihiro デバッガ開発者見習い(予定) 連絡先 : alohakun ___at___ gmail.com mixi : http://mixi.jp/show_friend.pl?id=182927 twitter : http://twitter.com/alohakun このページはインラインフレームを使用しています
gccでは、次のように、関数の中で関数を定義することができます(内部に書かれた関数をnested functionなどと呼びます)。 void func(void) { int x; void inner_func(void) { printf("%d\n", x); // a. } inner_func(); // b. } ここで、nested function では、外側の関数で宣言されているローカル変数を参照することができます(a.の部分)。どのように外側の関数が呼び出されたかによって、外側の関数のローカル変数のアドレスは変化しますから、b. でinner_func()を呼ぶとき、何らかの方法でそのアドレス(以下Xとします)を渡してやる必要があります。さもないとa.で正しい値をprintfできません。 Linux/x86 + gcc-3.3.3 では、ECXレジスタを用いてアドレス
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く