【发布时间】:2011-09-06 15:14:52
【问题描述】:
我有一个 C++ 应用程序。这支持用户的 C++ 插件 DLL,它将动态加载这些 DLL,然后能够动态创建和使用用户的类型。这些用户类型派生自主应用程序核心库中定义的基类型和接口,因此我将用户对象作为指向基类的指针,并调用用户的虚函数来实现它们的魔力。
现在我想扩展插件 DLL 以允许托管 DLL(我主要关心 C#)。我希望所有相同的魔法都发生在 C# 插件 DLL 中。
我如何动态加载这些 dll,我认为我目前使用的 win32 的 LoadLibrary 对托管 DLL 会很满意。我在编译/链接时无法访问这些库,它们来自用户。
在我加载库之后,不幸的是,我怀疑 COM 将来会作为调用派生函数的方式。可能我可以使用我一直在阅读的 CLI/C++ 包装器,但我在这里非常缺乏经验,如果有任何建议或相关文章的链接,我将不胜感激。
【问题讨论】:
标签: c# c++ interop virtual-functions dynamic-loading