簡體   English   中英

在VB.Net中繼續C ++項目嗎?

[英]Continue C++ project in VB.Net?

我完成了一個半完成的項目。 它是使用Visual Studio 2005以C ++編寫的。

是否可以以某種方式在VB.Net中繼續該項目? 如果是,您可以指導我嗎?

謝謝

盡管我的情況可能有所不同,但我已經在Visual Studio中做到了這一點。

我得到了一個現有的C ++應用程序來添加功能,並決定在C#/ VB中實現新功能。 在該應用程序的“常規”屬性中,我將“公共語言運行時支持”設置更改為/ clr。 然后,我在C#和VB中創建了新類,並使用項目屬性的“ C / C ++”節點上的“使用引用解析”部分將它們鏈接在一起。

這並沒有消除編寫C ++的需要,因為我仍然需要編寫一些C ++ / CLI來集成應用程序的兩個部分,但這確實讓我編寫了我想用自己喜歡的語言編寫的大多數新功能。我的工作效率更高。

當然,如果您在C ++中有一半實現的對象並且想在VB中實現另一半的對象,這可能會很煩人,在這種情況下,使用和維護此方法可能會很煩人。

假設您正在談論VB6,則必須將c ++項目編譯為帶有extern "C"修飾輸出的dll文件。 這意味着僅函數,根本沒有類。 如果您可以使項目那樣工作,那么這是將其集成到vb6中的最簡單方法,只需查找Declare Function/Sub並將其翻譯為適當的聲明即可。

現在,包括工作類在內的另一種方法是從c ++項目中公開COM對象,在VB6中,您只需添加對它的引用並像使用任何VB6類一樣使用它。 但是,還有很多工作要做。

如果應用程序沒有完成,那么我不建議您嘗試在VB中進行“其余”操作,除非對現有和新代碼進行合理的分割,以便可以將現有C ++內容轉換為供用戶使用的庫VB代碼。 但是,只有當它具有某種意義時(在這里考慮封裝-代碼是否適合自己站立(或至少是精益)?)

否則,這聽起來像是一場維護噩夢,例程的一部分在一個代碼庫中,而部分在另一個代碼庫中,調試和增強的難度是原來的10倍。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM