OpCodes.Tailcall フィールドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > OpCodes.Tailcall フィールドの意味・解説 

OpCodes.Tailcall フィールド

実際呼び出し命令実行される前に現在のメソッドスタック フレーム削除されるように、後置メソッド呼び出し命令実行します

名前空間: System.Reflection.Emit
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

解説解説

命令16 進数形式MSIL (Microsoft Intermediate Language) アセンブリ形式、および簡単な説明の一覧を次の表に示します

この命令には、スタック遷移動作定義されていません。

tail プリフィックス命令は、Call、Calli、または Callvirt の各命令直前に置く必要があります。これは、呼び出し命令実行される前に現在のメソッドスタック フレーム削除する必要があることを示しますまた、後続呼び出しからの戻り値現在のメソッドから返された値でもあり、このため、この呼び出しメソッドジャンプ変換できることも意味してます。

後続呼び出しによって転送される引数除きスタックは空である必要があります呼び出し命令後続命令は、ret である必要があります。したがって有効なコード シーケンスtail. call (あるいは calli または callvirt) だけです。正しMSIL (Microsoft Intermediate Language) 命令は、call 命令分岐できませんが、その後続の Ret には分岐できます

現在のフレームは、信頼関係のないコードから信頼されるコード制御転送されときには破棄できません。このときにフレーム破棄すると、コード ID セキュリティ損なわれるためです。したがって.NET Framework セキュリティ チェックによって tail無視され標準 Call 命令となることがあります同様に呼び出し戻った後に同期された領域終了できるようにするために、同期されたことを示すマーク付いたメソッド終了するために使用される tail プリフィックスは、無視されます。

tail オペコード使用できる Emit メソッド オーバーロード次に示します

  • ILGenerator.Emit(OpCode)

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
OpCodes クラス
OpCodes メンバ
System.Reflection.Emit 名前空間


このページでは「.NET Framework クラス ライブラリ リファレンス」からOpCodes.Tailcall フィールドを検索した結果を表示しています。
Weblioに収録されているすべての辞書からOpCodes.Tailcall フィールドを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からOpCodes.Tailcall フィールド を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

OpCodes.Tailcall フィールドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



OpCodes.Tailcall フィールドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS