如何从C DLL动态加载C#dll

如何从C DLL动态加载C#dll,第1张

概述我有一个C应用程序.这支持用户的C插件DLL,它将动态加载这些DLL,然后能够动态创建和使用用户的类型.这些用户类型派生自主应用程序核心库中定义的基本类型和接口,因此我将用户的对象作为指向基类的指针,并调用用户的虚函数以使其发生魔力. 现在我想扩展插件DLL以允许托管DLL(我主要关心C#).我想在C#插件DLL中发生所有相同的魔术. 我怎样才能动态加载这些dll,有些我认为我目前使用的win32 我有一个C应用程序.这支持用户的C插件DLL,它将动态加载这些DLL,然后能够动态创建和使用用户的类型.这些用户类型派生自主应用程序核心库中定义的基本类型和接口,因此我将用户的对象作为指向基类的指针,并调用用户的虚函数以使其发生魔力.

现在我想扩展插件DLL以允许托管DLL(我主要关心C#).我想在C#插件DLL中发生所有相同的魔术.

我怎样才能动态加载这些dll,有些我认为我目前使用的win32的Loadlibrary会对托管DLL感到满意.我无法在编译/链接时访问这些库,它们来自用户.

在我加载了库之后,不幸的是我怀疑COM在我将来作为调用派生函数的方式.可能我可以使用我一直在阅读的Cli / C包装器,但我在这里非常缺乏经验,并希望得到任何建议或相关文章的链接.

解决方法 另一种方法是创建一个承载C#类的C/C++li项目,并将其用作C项目中的桥梁.

这个方法的一些链接:

> Connecting c++ and c# code with a c++/cli bridge
> .NET to C++ Bridge

最新链接具有简单的桥接源代码

总结

以上是内存溢出为你收集整理的如何从C DLL动态加载C#dll全部内容,希望文章能够帮你解决如何从C DLL动态加载C#dll所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1238303.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存