2017-03-19 12 views
0

私は私の* .exeファイルの以下のメタ情報がありますmetainfoで 'CallCnvntn'とは何を意味していますか?

をしかし、私は何CallCnvntn」という意味を把握していません。私はインターネット上に何の情報も見つけていません。

ちなみに、[AutoLayout]、[AnsiClass]、[BeforeFieldInit]のフラグはどのようなものか説明してください。

答えて

1

ildasmに取り組んだマイクロソフトのプログラマは、「呼び出し規則」を省略して、それを適合させました。

メタデータ属性の正確な意味を見つけるのに最適な場所はthe CLI specです。速いスピードでは、[AutoLayout]は.NETの列挙値LayoutKind.Autoに相当します。クラスにはデフォルトでLayoutKind.Autoがあり、構造体にはデフォルトでLayoutKind.Sequentialがあります。 [AnsiClass]はCharSet.Ansiのenum値に相当します。これらの2つのタイプの属性は、C#コードの[StructLayout]属性で変更できます。通常、ピンボーク宣言で使用する型を記述する場合にのみ行われます。 [BeforeFieldInit]は、型の静的コンストラクタをいつ実行するかを決定します。デフォルトでは、CLRは、コードがクラス内の静的フィールドを使用するまで、呼び出しを遅延させることができます。

関連する問題