我只是想問我是否正確與.NET有關。所以,.NET是一個新的框架,可以讓您輕鬆實現新舊窗口功能。它類似於java,它也被編譯成「字節碼」,但其名稱是Common Language Infrastructure或CLI。該語言由.NET Framework解釋,因此使用.NET編程生成的代碼不能由CPU直接執行。現在,很少有語言可以編譯到CLI。首先,它是微軟開發的C#,而不是J#,C++其他。我懷疑這總的來說是對的,至少我希望我理解它是正確的。Visual Studio和.NET編程
但是,我仍然缺少的是,你可以寫在C#機器代碼編譯代碼?而且,如果使用Visual Studio 2005,那麼當我選擇Win32項目時,它將被編譯爲機器代碼,因此只需要運行此應用程序就是Windows動態鏈接庫,因爲靜態庫代碼已在鏈接階段實施到應用程序中。這些動態鏈接庫是在每個Windows安裝中實現的,或由DirectX安裝提供。
但是,當我在Visual Studio 2005中選擇CLR時,應用程序被編譯爲CLI代碼,並首先執行.NET框架,並且比.NET框架執行該程序,因爲它不在機器代碼中。
那麼,我是對的?我問,因爲你可以在互聯網上閱讀這些信息,但我沒有人告訴我我是否理解它。謝謝。
公共語言基礎結構(CLI)是框架本身。它包含垃圾收集器和JIT編譯器等。該JIT編譯器將中間語言或IL(=字節碼)編譯爲機器碼。 CLI不是字節碼,但是IL是。 – Steven
容易讓CLI和CIL感到困惑。我想這就是爲什麼我們通常只是說「IL」而不是「CIL」(或偶爾「MSIL」,但現在這是一個古老的術語!) –