私はwikipediaの約access linksを持っていましたが、どのようなアクセスリンクがどのようなものであるか、どのような機能の戻りアドレスとはどのように異なっているかを明確に把握できませんでした。誰かが簡単にアクセスリンクが何であるか、なぜコールスタックに必要なのかを説明できますか?スタックフレーム上のアクセスリンクとは何ですか?
答えて
Pascal
またはJava
のような実際のパラダイムは、たとえばC
ではありません。
たとえば、Javaでは、あなたが宣言することができます:
void func1() {
int outer = 2;
int func2() {
int inner = 3;
return inner+outer;
}
int result = func2();
}
をfunc1
実行の終了時に、result
変数は、ローカルに定義された変数outer
とinner
の和である5を含んでいるでしょう。
access link
は、実際の外側スコープに 'ポインタ'を内部関数に渡すために、まさにこの目的に役立ちます。
gcc
コンパイラはn.mは、限り、あなたはCを使用している、何のアクセスリンクが存在しないよう
上記のコードをコピーしてCでコンパイルして出力しました。あなたはこれがC言語でサポートされていないと言っていますか? – vikkyhacks
どの 'C'コンパイラを使用しますか? – Serge
私はgccを使用していましたが、私は 'gcc -std = gnu99 -g -Wall -m32 filename.c'で実行していました – vikkyhacks
- 1. グローバルフレームとスタックフレーム
- 2. マシンスタックのアクティベーションフレーム内のアクセスリンク
- 3. JVM上のスタックフレームからローカル変数を取得する
- 4. フレームが一番上にないときにスタックフレームを表示しますか?
- 5. DetailsView.EnableModelValidationとは何ですか? DetailsView.EnableModelValidation上
- 6. SQL Serverから別のアクセスファイルにアクセスリンクを変更しますか?
- 7. スタックフレームのアセンブリコードを分析するには?
- 8. は私のスタックフレームは、従来の1
- 9. .Netフレームワーク上のclr.dllとは何ですか?何がしますか?
- 10. Windows上のファイルへのルートパスとは何ですか? MacOSで?
- 11. 以上の目的は何ですか?
- 12. 「パイプラインの上流で再実行」とは何ですか?
- 13. UTF-8で漢字の上限と下限は何ですか?
- 14. 2つのソースからのMSアクセスリンク基準
- 15. キーワードとは何ですか?キーワードの "as"とは何ですか?以下、上記のリストに基づいて
- 16. スタックフレームを取得する
- 17. Linuxカーネルでのシグナルハンドリングのためのスタックフレーム
- 18. sunspot solr:pathとsolr_homeの機能上の違いは何ですか?
- 19. Linux上の独自のコーデック。合法とは何ですか?
- 20. 別のTclスタックフレームに戻る
- 21. スタックフレームの必要性、ARM
- 22. nodejs上のmysqlプールとは何ですか?
- 23. Hadoop上のHDFSロケーションとは何ですか?
- 24. データベース上のポリベース - OAuth_2.0_Token_EndPointとは何ですか?
- 25. iOS上のBLE接続デバイスとは何ですか?
- 26. スレッド上の "detach()"とは何ですか? CPP
- 27. HBASEのパフォーマンス向上手法とは何ですか?
- 28. デスクトップCPU上の8ビットレジスタとは何ですか?
- 29. `bower.json`ファイルの解像度と上書きは何ですか?
- 30. Google Appengine Ndb GQLクエリの上限の上限は何ですか?
を述べたように、標準
C
の一部ではないNested Functions extensionを持っています。 –Wikipediaでは、ネストされたサブルーチンがあればアクセスリンクがあり、Cはネストされたサブルーチンをサポートしているので、Cでアクセスリンクを持つべきであると言います。 – vikkyhacks
これらはC言語ではサポートされていませんが、あなたのコンパイラには拡張子が付いているかもしれませんが、C言語ではなくC言語の拡張機能です。 –