エントリーの編集

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント1件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
インサイド .NET Framework [改訂版]第5回 アセンブリのロードとセキュリティ(4/4) - @IT
この例外の原因は2つある。1つはメソッドの先頭付近にある「.maxstack」の指定だ。これはメソッドのヘッ... この例外の原因は2つある。1つはメソッドの先頭付近にある「.maxstack」の指定だ。これはメソッドのヘッダ部分に埋め込まれる情報で、このメソッドがスタックのスロットをいくつ使うかを示している。ここでは2つしか使わないことになっている。にもかかわらず、コードではスタックに文字列をロードする「ldstr」という命令が3回実行され、スタックのスロットを3つ使うようになっている。CLRはJITコンパイルの過程でこのバグを検出し、プログラムの実行を阻止する。 もう1つの原因は、このコードがメソッドの終了後にどこに行くのかが分からない点だ。通常、C#コンパイラなどで正しくコンパイルした結果のILアセンブラ・コードには、最後に「ret」というコードが出力されている。これによって、メソッドは終了するとメソッドの呼び出し側に戻ることが保証される。retが指定されていないので、このコードがそのまま実行され
2009/12/10 リンク