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

《C# to IL》第一章 IL 入門(六)

     編輯:關於C語言

類別繼承 System.Object

IL 中所有類型最終繼承 System.Object,確保類型系統一致性。

完整 IL 範例

.module aa.exe
.subsystem 3
.corflags 1

.assembly extern mscorlib {
  .ver 1:0:2204:21
}

.assembly a as "a" { .ver 0:0:0:0 }

.class private auto ansi zzz extends System.Object {
  .method public hidebysig static void vijay() il managed {
    .entrypoint
    ldstr "hell"
    call void System.Console::WriteLine(class System.String)
    ret
  }

  .method public hidebysig specialname rtspecialname instance void .ctor() il managed {
    .maxstack 8
    ldstr "hell1"
    call void System.Console::WriteLine(class System.String)
    ldarg.0
    call instance void [mscorlib]System.Object::.ctor()
    ret
  }
}

關鍵指令解析

  • .ctor:實例建構函式,呼叫基類 .ctor
  • rtspecialname / specialname:標記特殊方法名稱
  • instance:實例方法(非靜態)
  • ldarg.0:載入 this 參數
  • [mscorlib]:組件參考前綴,預設可省略
  • .maxstack:指定評估堆疊最大深度
  • .module:定義模組名稱
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved