跳转到内容

公共中间语言/入门

来自维基教科书,开放的书籍,为开放的世界

要编译 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!。完成啦!

华夏公益教科书