跳轉到內容

公共中間語言/入門

來自華夏公益教科書,開放的書籍,為開放的世界

要編譯 CIL 程式碼,你需要一個名為 ilasm 的程式,它包含在 .NET Framework SDK 安裝包中。

有兩種可用的框架:微軟的和 Mono 的。


這是一個僅限 Windows 的框架,可以從微軟的 .NET Framework 開發人員中心 下載。預設安裝路徑為 C:\Windows,框架和 ilasm 將放置在與安裝版本相關的資料夾中。

C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705 用於版本 1.0

C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322 用於版本 1.1

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 用於版本 2.0

C:\WINDOWS\Microsoft.NET\Framework\v3.0 用於版本 3.0

C:\WINDOWS\Microsoft.NET\Framework\v3.5 用於版本 3.5

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319 用於版本 4.0+


然後,終端(如命令提示符)可以從這些資料夾中的一個執行 ilasm。因此,如果安裝了版本 3.0

cd C:\WINDOWS\Microsoft.NET\Framework\v3.0
ilasm


這是一個跨平臺框架,可以從 Mono 網站 下載。

Windows 和 Mac

[編輯 | 編輯原始碼]

網站上提供安裝程式。在 Window 上,預設安裝路徑為 C:\Program Files (x86)\Mono

Mono 可透過軟體包管理器獲得

  • Debian、Ubuntu 及其衍生版
    • sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
    • echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
    • sudo apt-get update



安裝後,終端(如命令提示符)可以執行 ilasm:ilasm

Hello, World!

[編輯 | 編輯原始碼]

以下是簡單 "Hello, World!" 程式的程式碼。任何文字編輯器都可以用來編寫 CIL。

.assembly Hello {}
.assembly extern mscorlib {}

.method static void Main()
{
	.entrypoint
	.maxstack 1

	ldstr "Hello, World!"
	call void [mscorlib]System.Console::WriteLine(string)
	ret
}

首先,將以下程式碼儲存到名為 Hello.il 的檔案中。然後,使用 ilasm 編譯程式碼:ilasm Hello.il。這將建立一個名為 Hello.exe 的可執行檔案。

如果你是 Windows 使用者,只需輸入 Hello.exe 執行檔案。但是,在其他平臺上,你需要使用命令 mono Hello.exe 來執行它。

應該輸出 Hello, World!。完成啦!

華夏公益教科書