2013-03-04 84 views
0

我用C++編寫的項目非常複雜,我試圖將它轉換爲C#解決方案。我認爲將C++作爲VC++類庫是最容易的。在VisualStudio解決方案中結合使用C#和C++

在我開始之前,我試圖編寫簡單的C++類,並在C#項目中使用它。我得到的第一個問題是STL(在覈心STL中,使用了Boost和QT):我無法將C#List作爲std :: list傳遞給C++方法。

有沒有簡單的方法在C#中用STL,Boos和QT使用C++代碼或將其轉換爲C#更容易?

回答

2

將C++轉換爲C#是不可能的。也沒有理由去做。有一些事情可以做:

1)改寫C#中的GUI使用C++/CLI

2)包裹C++類和如果從C#

3)使用這些應用程序大多使用GUI不是太複雜的邏輯背後,你可以使用C#中的C++代碼部分在unsafe塊中。

你絕對不應該做的是將C++代碼逐行傳輸到c#中。

+0

通過轉換我的意思是把它全部複製,然後將所有std/stl/boost/qt類更改爲類似的C#類,等等。 – Ari 2013-03-04 08:53:05

+0

@Ari我明白了,那是你不能簡單地做的事情。我給你的3個建議是將C++「轉換」爲c#的最佳方法 – VladL 2013-03-04 09:07:56

+0

爲什麼不應該在C#中用層重寫應用程序層?當然,C#容器不能用作C++容器類的精確重複,並且他不能將它逐行傳輸,但應該可以按類(或逐層)進行分類。 – 2013-03-04 09:28:02

相關問題