a.cs 反組譯全貌class zzz {
public static void Main() {
System.Console.WriteLine("hi");
}
}
編譯 csc a.cs → a.exe → ildasm /out=a.txt a.exe。
auto 佈局由運行時決定,ansi 標記托管/非托管互操作字符串編碼。System.Object::.ctor(),含 ldarg.0(this 指針)。one.vb → vbc one.vb 生成 one.exe。_vbProject 與 modmain 類的關係。| 指令 | 作用 |
|---|---|
ldstr | 載入字符串常量到堆疊 |
call | 靜態/非虛實例方法調用 |
newobj | 創建對象實例並調用構造函數 |
ldarg.0 | 載入第 0 參數(實例方法為 this) |
stloc.0 | 彈出堆疊頂值存入局部變量 0 |
ret | 方法返回 |