問題タブ [cil]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1391 参照

visual-studio - Visual Studio 内で MSIL を実行する

Visual Studio 2005 があります。

「ilasm」を使用して、コマンド ラインから MSIL プログラムを正常に実行できます。

これらをVS内で実行できるようにしたいと思います。

他の投稿や検索から、「コンソール アプリケーション」タイプのプロジェクトを作成する必要があると思いますか? (VSがMSILを処理できるという事実をほのめかしていますが、特定の「方法」は見つかりません。)

「コンソール アプリケーション」は、標準の Program.cs を提供します。

次に、(2 つの数値を追加する) .il ファイルをプロジェクトに追加します。プロジェクトは正常にビルドされ、実行しても何も実行されず、.il ファイルで設定したブレークポイントがトリガーされません。.il ファイルが呼び出されていないため、驚くことではありません。

これを機能させるための段階的なアプローチを提供してください。

また、.il ファイルに追加する必要がある名前空間と、.il ファイルにパラメーターを渡すことが可能かどうか、また (そうであれば) その方法を知りたいです。

0 投票する
4 に答える
5346 参照

.net - .NET IL コードの逆コンパイルが簡単なのはなぜですか?

ネイティブ x86 バイナリの逆コンパイルと比較して、.NET IL コードをソース コードに逆コンパイルする方が簡単なのはなぜですか? (Reflector はほとんどの場合、非常に優れたソース コードを生成しますが、C++ コンパイラの出力を逆コンパイルすることはほとんど不可能です。)

IL に多くのメタデータが含まれているためでしょうか。それとも、IL が x86 命令よりも高度に抽象化されているためですか? いくつかの調査を行ったところ、次の 2 つの有用な記事が見つかりましたが、どちらも私の質問には答えていません。

0 投票する
2 に答える
367 参照

cil - MSIL : 余分な枝

次の C# スニペットを検討してください。

Reflector ショーを使用して逆アセンブル:

私を困惑させる部分は次のとおりです。

アイテムを保存し、次の行に分岐して (とにかく実行されたはずです)、再度ロードします。

これには理由がありますか?

0 投票する
2 に答える
256 参照

.net - スタックの内容を表示する

VisualStudio内またはMdbg経由でMSILを実行します。

MSILスタックの内容を表示する方法はありますか?

たとえば、ldloc "some variable"を実行した場合、スタックを調べて、変数がスタック上にあることを確認する方法はありますか。

MSILスタックはCPUスタック、つまりSPレジスタが指すメモリと同じではないと思いますか?

0 投票する
5 に答える
6495 参照

.net - C++ は MSIL に変換されますか?

私は長い間 C# と .Net の開発者であり、C++ を学習するという考えに取り組んできました。

私がこれについて考えてきた主な理由の 1 つは、.Net フレームワークを使用するアプリよりも C++ の方がはるかに高速であるということです。しかし、Visual Studio で C++ アプリを記述したり、C++ アプリケーションで .Net ライブラリを参照したりすると、その C++ は (C# と同様に) MSIL に変換されるため、利点が失われると想定するのは正しいでしょうか。その中のコーディングから?

だから私の質問は本当にこれです..Netアセンブリを参照するアプリケーションのC++コンポーネントは、「従来の」方法でコンパイルされていますか、それともMSILにコンパイルされていますか?

0 投票する
3 に答える
463 参照

c# - C# デリゲートの MSIL を取得できますか?

好奇心から... プログラムでデリゲートの MSIL を取得することは可能ですか? 単純にプログラムを記述できる分散コンピューティング システムのアイデアをいじっていたので、興味があります。プログラム自体は、作業が発生するそれぞれの異なるノードに分散されます。実際のアセンブリをネットワーク経由でコピーし、それを appdomain にロードすることでそれを実行できることはわかっていますが、より単純なモデルを操作するのは非常に興味深いことだと思います。

ありがとう!

0 投票する
0 に答える
385 参照

ide - ILIDEで立ち往生

私は、MSIL 用の (良いものでも?) IDE を必死に見つけようとしています。(その c : IDE for MSIL )

ILIDEで見つけたと思っていましたが、コードをデバッグするときは常に(コードに依存しません)取得します:

SandDock]TD.SandDock.ControlLayoutSystem::OnMouseMove(System.Windows.Forms.MouseEventArgs

マウスを使用しない場合 (明らかに e マウスオーバーによってトリガーされるため)、次のようになります。

System.NullReferenceException追加情報なしで「デバッガー3」から。

プログラム (3.0) を使用してより成功した人はいますか?

0 投票する
2 に答える
3392 参照

delegates - System.Delegateを拡張することは可能ですか?

C#のSystem.DelegateまたはSystem.MulticastDelegateから継承することはできません。標準の「ランタイム管理」メソッドを宣言する限り、MSILでそれを行うことは完全に可能です。ただし、タイプに「cilmanaged」メソッドを追加するたびに、次のようになります。

System.TypeLoadException:実行時に実装されたデリゲートメソッドの定義が正しくありません。

Delegate / MultimediaDelegateを拡張することは可能ですか?

0 投票する
1 に答える
337 参照

c# - C# コンパイラは、型が実装するすべてのインターフェイスを明示的に宣言するのはなぜですか?

C# コンパイラは、それが実装するすべてのインターフェイスとその基本クラスを明示的に記録しているようです。CLI の仕様によると、これは必要ありません。他のコンパイラがこれを明示的に出力しないのを見たことがありますが、うまく動作しているようです。C#がこれを行う違いや理由はありますか?

下部の C# が B に対して生成する MSIL は次のとおりです。

A は IAdvanced と同様に実装するため、ISimple を指定する必要はありません。C# コード:

0 投票する
0 に答える
1020 参照

.net - CIL / MSIL にコンパイルされる言語

私が見たリストのほとんどは次のとおりです。

  • C#
  • VB.Net
  • その他の .NET 言語

「その他」のカテゴリに分類される言語は?

私は出くわしました:

  • デルファイ
  • C++
  • Cobol.Net
  • クロム

きっと他にもいるはずですよね?