如何在 C++ 中使用 C# 代码项目
我有一些 C# 代码,我想在其他项目中使用它们(用 C++ 编码)。 根据我的研究,我需要创建一个 .lib 但 MSVS 只创建 .dll (我认为..)。我认为可以通过在 C++ 上使用 LoadLibrary() 来使用 .dll,但似乎不太友好。
1 - 我可以在 MSVS 中创建 .lib 吗?如果没有,我该如何创建它。
2 - 集成代码的最佳方式是什么?通过 .lib 还是使用 .dll + LoadLibrary()?
I have some code in C# which I want to use in other project (coded in C++).
From what I researched, I need to create a .lib but MSVS only creates .dll (I think..). I think is possible to use the .dll by using LoadLibrary() over C++ but seems not very friendly.
1 - Can I create the .lib in MSVS? If not, how can I create it.
2 - What is the best way to integrate the code? By the .lib or using .dll + LoadLibrary()?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
老实说,最简单的选择是使用 C++/CLI。这使您可以使用两种对象系统(.NET 和带有标准模板库的传统 C++)。
The easiest option, honestly, is to use C++/CLI. That lets you use both object systems (.NET, and traditional C++ with its standard template library).
它是托管C++吗?如果是这样,您可以直接添加对 C# dll 的引用并使用它。
Is it managed C++ ? If so you can directly add a reference to the C# dll and use it.
您需要的是 C# 中的 com 兼容类:
http://en.allexperts.com /q/C-3307/2008/2/使用-C-class-C.htm
http://blogs.msdn.com/b/deeptanshuv/archive/2005/06/26/432870.aspx
What you need is a com compliant class in c#:
http://en.allexperts.com/q/C-3307/2008/2/Using-C-class-C.htm
http://blogs.msdn.com/b/deeptanshuv/archive/2005/06/26/432870.aspx
一种可能性是使您的 C# 代码兼容托管 COM。然后使用标准 COM api(QueryInterface 等)来调用 C# COM 代码。
codeproject 示例可能有用
http://www.codeproject.com/KB/cs/ManagedCOM.aspx
One possibility is to make your C# code Managed COM compliant. Then use the standard COM api's (QueryInterface etc) to call the C# COM code.
The codeproject sample may be useful
http://www.codeproject.com/KB/cs/ManagedCOM.aspx