首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

《C# to IL》第二章 IL 基礎(五)

     編輯:關於C語言

建構函式執行時機

  • 實例建構函式:newobj 後執行
  • 靜態建構函式:首次存取類別前由 CLR 自動執行,早於任何實例建構
  • .cctor 不呼叫基類 .cctor,不傳遞 this

Main 區域變數

.locals (int32 V_0, int64 V_1)
ldc.i4.6
stloc.0
ldc.i4.7
conv.i8
stloc.1

對應 C# int i=6; long j=7;。注意 long 需 conv.i8 擴展。

欄位初始化

.field private static int32 i
.field public int64 j
.method public hidebysig specialname rtspecialname static void .cctor() il managed {
  ldc.i4.6
  stsfld int32 zzz::i
  ret
}
.method public hidebysig specialname rtspecialname instance void .ctor() il managed {
  ldarg.0
  ldc.i4.7
  conv.i8
  stfld int64 zzz::j
  ldarg.0
  call instance void [mscorlib]System.Object::.ctor()
  ret
}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved