2012-01-09 84 views
0

我是一位從未觸及C++的.net開發人員。我不想要:)爲C++模塊生成.net程序集

不幸的是,我必須在.net 4.0中使用C++模塊,我很無能。

是否有一種工具可以爲給定的C++模塊生成.net程序集?

如果不是,我的下一步是成功調用這些C++庫嗎?

+0

這是C++模塊使用.NET C++還是純粹的簡潔C++? – 2012-01-09 15:53:31

+1

唯一的好工具是你的耳朵之間的一個。或者別人的耳朵,因爲你不想自己學習,請僱人爲你做這份工作。 – 2012-01-09 16:38:07

回答

1

方法有很多種:

COM互操作

類型庫導入轉換COM類型庫中發現的成等價的類型定義公共語言運行時程序集中的定義。

的PInvoke /的DllImport

公共語言運行庫提供平臺調用服務,或PInvoke的,這使託管代碼調用C風格的功能在本機dynamic-鏈接庫(DLL)。使用相同的數據封送處理作爲與運行時的COM互操作性以及「It Just Works」或IJW機制的互操作性。

C++/CLI

這是更高級,因爲它很可能需要C++模塊進行更新並重新編譯。

混合組件能夠包含非託管機器指令和MSIL指令。這使他們可以調用.NET組件,並保持與完全不受管理的組件的兼容性。使用混合程序集,開發人員可以使用混合的託管和非託管功能來編寫應用程序。這使得混合程序集非常適合將現有的Visual C++應用程序遷移到.NET平臺。