所以我想在Visual C++中嘗試我的第一個CLR項目。所以我創建了控制檯項目,但是因爲我發現的關於CLR編程的每個教程都使用C#或Windows窗體,我只是嘗試使用iostream編寫標準C++ Hello Word應用程序(我認爲在這種情況下代碼不需要),但我會盡力我有一些編譯錯誤,因爲iostream使用預編譯函數,而CLR應用程序編譯成MSIL。我認爲使用C++的CLR編程意味着只使用C++語法,但對I/O等有不同的功能。所以,基本上,我想問的是,任何本地控制檯C++應用程序都可以編譯爲MSIL並由.NET框架運行?Visual Studio CLR項目
2
A
回答
0
can any native console C++ app be compiled into MSIL and run by .NET?
大多數代碼可以看到http://msdn.microsoft.com/en-us/library/aa712815.aspx作爲例外。
你的應用程序仍然會使用原生代碼思想。還有/ clr:純粹如果你想確保只使用CLR代碼。
2
如果您嘗試通過採用包含cout
和大量STL的經典C++應用程序並將其編譯爲/clr
來嘗試瞭解託管編程,您將會感到沮喪。你應該能夠編譯任何有效的C++應用程序/ clr,但這並不意味着結果是值得的。如果你堅持這樣做 - 一個快速提示 - 關閉預編譯頭。
如果您有某種控制檯應用程序的C#教程,您可以隨時將其轉換爲C++/CLI。 MSDN文檔可以爲你提供幫助,因爲它通常在VB,C#和C++/CLI中有例子,你會很快拿起替換模式。因此,如果您的C#教程的功能爲Console.WriteLine
,則您的C++/CLI版本將具有Console::WriteLine
。如果C#代碼有Employee e = new Employee()
,那麼您的C++/CLI代碼將有Employee^ e = gcnew Employee()
等等。這種方法將使您比使用「經典C++」更快地學習C++/CLI,並在稍後嘗試CLR。
也就是說,C++/CLI實際上不適用於編寫控制檯和winforms應用程序。這是爲了互操作。因此,快速轉向編寫可調用大型現有C++庫(包括頭文件,鏈接到lib)的庫,然後使用VB或C#中的一些UI(Windows,Web,wcf,無論),它們使用新的互操作庫來簡化訪問舊C++代碼的功能。如果你沒有這樣做的意圖,你爲什麼學習C++/CLI?
還有C++/CLI書籍 - 我在我的辦公室有幾個。
相關問題
- 1. Visual Studio項目GUIDS
- 2. DotNetNuke Visual Studio項目
- 3. 的Visual C#CLR項目錯誤
- 4. 的Visual Studio 2012的SQL CLR
- 5. Visual C#Visual Studio 11開發人員預覽版的SQL CLR數據庫項目
- 6. Visual Studio項目目錄
- 7. 將Visual Studio 7.1項目轉換爲Visual Studio 9項目?
- 8. Visual Studio項目:重複項目指導
- 9. 項目聯爲Visual Studio安裝項目
- 10. Visual Studio中的「Win32項目」,「CLR空項目」和「空項目」模板之間的區別是什麼?
- 11. Visual Studio Web項目統計
- 12. Visual Studio 11安裝項目
- 13. Visual Studio 2008項目模板
- 14. Visual Studio安裝項目
- 15. Visual Studio項目未保存
- 16. visual studio 2010 web項目
- 17. Visual Studio - 僅限TypeScript項目
- 18. Visual Studio安裝項目:Cleartype
- 19. Visual Studio WPF項目遷移
- 20. visual studio 2010恢復項目
- 21. Visual Studio 2003 Web項目
- 22. Visual Studio 2010測試項目
- 23. 直接在Visual Studio項目
- 24. Visual Studio部署項目 - CustomActionData
- 25. Visual Studio的安裝項目
- 26. visual-studio項目設置
- 27. COM + Visual Studio安裝項目
- 28. Visual Studio複製項目
- 29. Visual Studio安裝項目
- 30. Visual Studio 2008項目參考
好的,所以在這種情況下,編譯器實際上包含cout的機器代碼到CLR的MSIL代碼中? – Vit 2010-04-04 19:40:09
Sorta。它將包含CLR位直接調用的本地代碼。 – sblom 2010-04-04 19:43:36