我想你不能簡單地用C++/CLI編譯器編譯C++應用程序。我想知道這是否會很困難。有沒有人試過這個,如果是的話:是否需要進行很多修改?將C++移植到C++/CLI很困難嗎?
1
A
回答
5
這種情況有點像將C編譯爲C++。大多數C將會以C++的形式編譯,但是與你想象中的C++相比,它有很長的路要走,所以很可能在你使用它之前,你會想修改它(通常很多)。同樣,大多數C++都會編譯爲C++/CLI,但有可能你不希望這樣使用它。
2
這對幾乎任何本地C++代碼都適用。它將像託管代碼一樣被轉換爲IL,並在運行時獲得JIT編譯。您可以自由調用託管代碼,這要感謝C++ interop。我知道無法編譯的唯一非託管代碼構造是__fastcall關鍵字。 const關鍵字存在一個問題,它不完全用屬性模擬,但這只是導入元數據時的一個問題。只需像現在一樣繼續使用頭文件即可。
.NET程序集能夠存儲機器代碼以及IL。如果編譯器遇到問題或者懷疑生成的代碼不是最優的時候,您可以通過選擇性地關閉IL代來利用此優勢。用包裹的#pragma代碼:
#pragma managed(push,off)
void CompiledToMachineCode() {
// etc..
}
#pragma managed(pop)
您還需要你的時候是#包括了不使用/ CLR編譯選項單獨編譯的.libs頭使用此#pragma。
相關問題
- 1. 爲什麼將Android移植到x86很困難?
- 2. 將現有webapp移植到Google TV有多困難?
- 3. 使用Android SDK(或Marmalade等)將C++遊戲移植到Google Play有多困難
- 4. 將Borland C++移植到C#
- 5. 將TCP客戶端和服務器從Linux移植到QNX的困難Neutrino
- 6. 將C++ Builder移植到Qt
- 7. 將C/C++程序移植到Android中
- 8. 將組件移植到C/C++?
- 9. 將Visual C++項目移植到C#
- 10. 將C++數組移植到C#數組
- 11. 將C++遊戲移植到目標C
- 12. 移植C#到Android
- 13. 可以將Flask(Python)移植到Lua嗎?
- 14. 將移植函數從Python移植到C++
- 15. 遇到困難
- 16. 爲什麼將新文件添加到新回購很困難?
- 17. 將貝寶集成到我的項目中很困難
- 18. 從BlogEngine.Net到WordPress的遷移困難
- 19. C#轉換困難
- 20. 移植C++到C# - 模板
- 21. 將數據從C#表格插入到數據庫中很困難
- 22. 將C#中的TripleDESCryptoServiceProvider移植到PHP
- 23. 將C++項目移植到Android
- 24. 將C Winforms項目移植到WPF
- 25. 如何將C++聯盟移植到Julia
- 26. 將項目從C#移植到Java
- 27. PV函數和將VB6移植到C#
- 28. 將POSIX C代碼移植到windows中
- 29. 將Python程序移植到C
- 30. 將代碼從Matlab移植到C++
可能的重複:http://stackoverflow.com/questions/704388/please-describe-you-experience-of-using-microsoft-c-cli – 2009-11-20 14:29:20
@Kirill - 錯誤...沒有。差遠了。 – 2009-11-20 14:41:13