公共中间语言/入门
要编译 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 网站 下载。
网站上提供安装程序。在 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
- CentOS 7、Fedora 19(及更高版本)及其衍生版
yum install yum-utils
rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
yum-config-manager --add-repo http://download.mono-project.com/repo/centos/
安装后,终端(如命令提示符)可以执行 ilasm:ilasm
以下是简单 "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!
。完成啦!