hello.exe,一旦安裝了 .NET,您就可以使用記事本或 Visual Studio 創建包含前面的“Hello World”程式之一的檔案。創建一個空的子目錄,將檔案保存到該子目錄當中,並命名為 hello.cs(CS 表示為 C# 檔案)。
基本介紹
- 外文名:hello.exe
- 步驟:創建一個空的子目錄
- 顯示程式:打開命令提示並更改到正在使用
- 執行程式:列出目錄的內容
顯示程式,執行程式,查看程式,
顯示程式
打開命令提示並更改到正在使用的目錄。鍵入“csc hello.cs”命令來編譯該程式。如果在目錄中查看,您將發現已經創建了 hello.exe 檔案。鍵入“hello”執行該檔案,控制台視窗將顯示“Hello, World!”。
執行程式
執行檔的內容,列出目錄的內容,請注意只有兩個檔案:hello.cs 和 hello.exe。Hello.exe 是一個非常小的檔案,只有 3 KB 左右。真簡單。
但是,hello.exe 檔案中有些什麼?這就不那么簡單了。有一個存根載入器,即很小的本機機器語言程式,它可載入 .NET Runtime 並給予其控制權以便使它開始執行您的程式。
但是兩個重要的部分是元數據和 IL 中的代碼,元數據向 Common Language Runtime 和可能引用程式中的類型的編譯器解釋該程式。(您可能會想起 IL 是 .NET Runtime 的機器語言。)當 Runtime 即將開始執行每種方法時,它將 IL 轉換為本機代碼,然後執行本機代碼。.NET 從來不解釋 IL,它總是將 LI 編譯成本機代碼。
查看程式
如何查看元數據和 IL?使用 IL 反彙編 (ILDASM) 工具會使該操作變得非常簡單。只要在命令提示下輸入圖 “ILDASM hello.exe”(假設 hello.exe 檔案在當前目錄下)就可以了。您可以看到一個如下顯示的視窗。
1:ILDASM 視窗
最初,“hello.exe”之下的目錄樹顯示兩個部分:清單和類 MyApp。由於模組 hello.exe 有一個清單,所以我們知道它就是程式集的說明檔案。在這種情況下,程式集僅包含一個模組檔案 hello.exe。
清單
雙擊清單將看到元數據的一小部分,這部分說明了這個程式集(應用程式或組件)中包含的模組(檔案)。對於第三個 hello.exe 程式,它看起來如下:
.assembly extern mscorlib {
.originator = (03 68 91 16 D3 A4 AE 33 )
.hash = (52 44 F8 C9 55 1F 54 3F 97 D7 AB AD E2 DF 1D E0
F2 9D 4F BC )
.ver 1:0:2204:21
}
.assembly hello as "hello" {
// --- 下面的自定義屬性是自動添加的
// 不要取消注釋 -------
// .custom instance void [mscorlib]System.Diagnostics.DebuggableAttribute::.ctor(bool,