我使用P/invoke在this project之間在C#和C++之間進行交互操作。我想傳遞對稱定義的數據結構。什麼是最好的基礎設施使用?協議緩衝區在這裏有用嗎?請建議在C#和C++之間傳遞數據的基礎結構
-1
A
回答
2
我會建議使用C++/CLI,因爲您可以在兩個世界中使用相同的頭文件/定義文件。開發C++ CLI的主要目標之一是填補管理和未管理的世界之間的差距。 This文章給你更多的優勢。
在MSDN中有a nice description C++ cli如何工作以及如何使用它。
也看到here
1
如果它是一個選項,你可能要考慮使用COM。定義COM類可見並具有InterfaceType ComInterfaceType.InterfaceIsDual的.NET類,並使用MarshalAs(UnmanagedType)屬性裝飾每個參數,然後C++應用程序可以封送可在託管和非託管代碼之間傳遞的對象。
「對稱定義」的處理是因爲接口是在COM中定義的,再加上COM,您可以更直觀地瞭解錯誤處理和直觀P/Invoke。
相關問題
- 1. 在函數之間傳遞結構C++
- 2. 在C++/C之間傳遞結構中的字符串/數組#
- 3. C數據結構或核心基礎?
- 4. Fortran在兩個C函數之間傳遞C結構
- 5. 在Python和C之間傳遞大表的建議#
- 6. 在usercontrols之間傳遞數據c#
- 7. 在C++ DLL和C#之間傳遞數據時的結果不一致
- 8. 在C++(MFC)應用程序和C#之間傳遞數據
- 9. 在C#和DLL之間傳遞數組數據(雙向)
- 10. 在C中的form1和form2之間傳遞數據#
- 11. 在C#和JavaScript之間傳遞元素
- 12. 在C++和Delphi之間傳遞PChar/* char
- 13. C#架構建議:緩存結構中的數據的方法?
- 14. 在頁面之間傳遞和返回數據C#Xaml
- 15. 如何在C++和C#之間傳遞字符串參數?
- 16. 基類結構的構建體在C#
- 17. 傳遞一種遺傳結構早在基礎對象
- 18. 傳遞結構的動態數組C++
- 19. 傳遞結構的數組用C
- 20. 使用協議和代理在視圖之間傳遞數據
- 21. 傳遞和返回結構C
- 22. OOP基礎 - C#重構?
- 23. C++將結構傳遞給函數
- 24. 結構在C和C++之間的差異
- 25. 在HTTPS和HTTP之間傳遞數據
- 26. 在Node.js和Html之間傳遞數據
- 27. 在java和python之間傳遞數據
- 28. 在ViewController和TabBarController之間傳遞數據
- 29. Haskell和C之間交換結構化數據
- 30. 在c#中的兩個表單之間傳遞數據