將.NET源代碼(c#或vb)編譯爲.exe文件時會發生什麼?我想了解這使得一個exe文件過程中會發生,並查看關於逆向工程和解析(例如,How do I decompile a .NET EXE into readable C# source code?和What happens when user click .NET assembly (EXE)?)提前當我將源代碼編譯爲.net框架中的exe文件時發生了什麼?
4
A
回答
5
感謝管理執行過程包括以下步驟幾個問題的過程
選擇一個編譯器
爲了獲得由第提供的好處e公共語言運行時,必須使用一個或多個目標運行時的語言編譯器。
編譯代碼以MSIL
編譯轉換 您的源代碼轉換爲Microsoft中間語言(MSIL)和 產生所需的元數據。
編譯MSIL到本地代碼
在執行時,一個剛剛在時間(JIT)編譯器翻譯這些MSIL成 本地代碼。在編譯期間,代碼必須通過驗證 進程,檢查MSIL和元數據以確定 代碼是否可以確定爲類型安全。
運行代碼
公共語言運行庫提供,使執行到 發生,並且可以執行期間使用服務的基礎設施。
看看這裏關於詳細信息:http://msdn.microsoft.com/en-us/library/k5532s8a.aspx
1
你可以採取下面的鏈接,我認爲他們是有用的一看,
1- Image Describing CLR.
2- Wikipedia Description of .NET Framework
3- .Net Framework Architecture
相關問題
- 1. 當我更改我的視圖框架時發生了什麼?
- 2. 當我編譯時會發生什麼?
- 3. 爲什麼我的C代碼沒有被編譯爲EXE
- 4. 爲什麼我的源代碼在c中使用strcpy時發生了變化
- 5. 我的php代碼發生了什麼?
- 6. 爲什麼我編譯Java代碼時找不到文件?
- 7. 當我嘗試編譯我的代碼時發生錯誤
- 8. 實體框架的源代碼不會與.NET框架編譯成功4
- 9. 當我在.cpp文件中複製#include時發生了什麼
- 10. 將IronPython代碼編譯爲EXE或DLL
- 11. 即使我編譯源代碼,爲什麼我的makefile會重新編譯?
- 12. 從源代碼動態創建一個編譯的.NET EXE文件?
- 13. 在文本框中編譯代碼並保存爲exe
- 14. 當我使用npm start時,爲什麼我的jsx代碼在js中編譯?
- 15. 當我在Haskell中編寫「show」和「read」時發生了什麼?
- 16. 將python代碼編譯爲一個exe文件
- 17. 當我執行這段代碼時爲什麼發生錯誤?
- 18. 我的exe文件不執行後我反編譯,並改變了代碼
- 19. Trimpath Junction Javascript框架發生了什麼?
- 20. 發現根源的代碼發生了什麼?
- 21. 我打破了我的代碼,不知道發生了什麼
- 22. 以下代碼中發生了什麼?
- 23. 爲什麼Maven試圖將我的代碼編譯爲-source 1.3?
- 24. 這是爲什麼編譯和發生了什麼?
- 25. 爲什麼我不能用javac編譯lucene演示源代碼?
- 26. 爲什麼我無法在手機上編譯源代碼?
- 27. 當這些代碼行運行時發生了什麼+ iPhone
- 28. 當我將編譯源代碼設置爲「根據文件類型」時引發錯誤
- 29. 爲什麼在編譯時刪除u-boot源代碼?
- 30. 我不明白我的代碼中發生了什麼
[託管執行流程 - MSDN](http://msdn.microsoft.com/zh-cn/library/k5532s8a.aspx) – Habib
看看[C#編譯如何解決需要頭文件?](http://stackoverflow.com/questions/1917935/how-does-c-sharp-compilation-get-around-needing-header-files/ 1918663#1918663) – adatapost