为C#和C ++应用程序编写DLL

时间:2010-10-25 19:23:58

标签: c# c++ dll

我需要编写几个DLL,这些DLL都可以从C#应用程序和C ++应用程序访问。最初,我认为我可以通过在C#中编写DLL并从C#和C ++应用程序链接到它来节省时间/精力。这种方法是明智的,还是应该使用C ++编写DLL?

3 个答案:

答案 0 :(得分:3)

我的建议是在您最舒服的地方实施代码,但不要忘记互操作要求。了解您的界面是什么以及最终产品需要什么粘合剂。在填写实现之前编写接口并测试互操作。

如果您的要求的复杂性使得舒适程度无关紧要,我会用C ++编写它,以便您可以通过P / Invoke访问。

一个重要因素是您使用的是C ++ / CLI还是本机C ++。在任何一个方向上,C ++ / CLI和C#之间的互操作要容易得多。

答案 1 :(得分:1)

我建议你用C ++编写你的DLL,用ATL或类似方法将它们的公共类公开给COM,然后让tlbimp在COM接口周围生成一个瘦的C#包装器。

答案 2 :(得分:0)

如果要在其他.Net应用程序中使用DLL,那么使用C#或C ++编写它是非常安全的,无论你选择哪个。

如果要在其他地方使用DLL,你会发现用C ++编写它会更容易。