簡體   English   中英

如何在VC ++中為軟件創建ac#包裝器?

[英]How to create a c# wrapper for a software in VC++?

我需要在C#中創建VC ++包裝器。 有沒有一種自動生成代碼的方法?

編輯:讓我澄清一下:我有一個簡單的項目,其中包含c ++中復雜的數學函數(計算磁偏角)。 它只有三個文件,一個標頭,一個命令行控制器和庫。

我當時在看SWiG,但發現它很神秘:P。 我正在看C ++ / CLI。

有什么技巧和陷阱要注意嗎?

對於大多數簡短的問題:這取決於您的設置和要求! ;-)如果您擁有更多的C風格的界面,則僅使用Interop便可以解決問題。 如果涉及“真正的” OO編程和C ++,則可能必須考慮C ++ / CLI。 這可能很容易,但也可能會很痛苦-取決於您的課程。 據我所知,沒有自動代碼生成工具。

SWiG支持C#。 但是C ++ / CLI包裝器比SWiG自動生成的“ .NET類”要多得多。

您可以看一下本教程:

http://www.codeguru.com/csharp/csharp/cs_data/article.php/c4217

我認為,如果您自己制作包裝器,則比使用任何工具(如果確實存在)要好。 原因是您可以使用正確的方法創建更好的C#包裝程序,而不是從DLL生成函數調用列表。

對於陷阱,我只能說的是,由於您要混合使用管理類和非管理類,因此請確保您的結構/參數匹配(sizeof或類型)。

暫無
暫無

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

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