Visual C#是微軟公司推出的新一代程序開發語言,Visual C#是微軟公司.Net FrameWork框架中的一個重要的組成部分,也是微軟公司向程序員極力推薦一個新的程序開發平台。和以往的開發語言相比較,他有更強大功能,更高的穩定性和更高的安全性。也正因為如此,Visual C#正在受到越來越多的編程愛好者的歡迎。
Visual C#的編譯器和以往編程語言的編譯器有著明顯的不同。其最大的不同點就是,以往的程序編譯器是把編寫好的程序代碼編譯生成可以直接為計算機所使用的機器語言。雖然Visual C#的編譯器也可以把編寫好的程序代碼編譯成EXE或者是DLL文件,但這種文件只是一種IL文件(中間語言),此IL文件不能直接被計算機使用。只是當此IL文件被調用的時候,再通過一種名叫JIT(即時編譯)編譯器把此IL文件生成可以供計算機使用的機器代碼。
可見Visual C#的編譯過程大致可以分成二個部分,第一個部分,從程序代碼到IL文件,這個過程是通過人工干預來實現的,即通過CSC.exe來實現的;第二個部分,從IL文件到機器語言,這個工程是機器自動實現的。本文就將具體來說明一下第一個部分,即如何用CSC.exe來正確編譯Visual C#文件。
CSC.exe把Visual C#程序代碼編譯成IL文件時,有著很多參數和開關選項。正確的了解和運用這些參數和開關有時會解決一些看似很棘手的問題。下面就通過一張表來大致說明一下這些參數和開關的具體作用。這些參數和開關選項是按照字母順序來排列的。其中帶"*",是一些常用的參數或開關。
選項 用途 @ * 指定響應文件。 /?, /help 在控制台的計算機屏幕上顯示編譯器的選項 /addmodule 指定一個或多個模塊為集會的一部分 /baseaddress 指定裝入DLL的基礎地址 /bugreport 創建一個文件,該文件包含是報告錯誤更加容易的信息 /checked 如果整數計算溢出數據類型的邊界,則在運行時產生一個例外的事件 /codepage 指定代碼頁以便在編譯中使用的所有源代碼文件 /debug * 發送調試信息 /define 定義預處理的程序符號 /doc * 把處理的文檔注釋為XML文件 /fullpaths 指定編譯輸出文件的反正路徑 /incremental 對源代碼的文件進行增量編譯 /linkresource 把.Net資源鏈接到集合中 /main 指定Main方法的位置 /nologo 禁止使用編譯器的標志信息 /nooutput 編譯文件但不輸出文件 /nostdlib 不導出標准庫(即mscorlib.dll) /nowarn 編譯但編譯器並不顯示警告功能 /optimize 打開或者關閉優化 /out * 指定輸出文件 /recurse 搜索編譯源文件的子目錄 /reference * 從包含集合的文件中導入元數據 /target * 指定輸出文件的格式 /unsafe 編譯使用非安全關鍵字的代碼 /warn 設置警告級別 /warnaserror 提升警告為錯誤 /win32icon 插入一個.ico文件導輸出文件中去 /win32res 插入一個Win32資源導輸出文件中具體說明: