我有一个C++应用程序,支持用户的C++插件DLL。它会动态加载这些DLL,并能够动态创建和使用用户类型。这些用户类型派生自主应用程序核心库中定义的基础类型和接口,因此我将用户对象保持为指向基类的指针,并调用用户虚拟函数来实现其魔法。
现在我想扩展插件DLL以允许托管DLL(我主要关心C#)。我希望所有相同的魔法都发生在C#插件DLL中。
如何动态加载这些dll呢?我目前正在使用的win32的LoadLibrary可能不会对托管DLL感到满意。我在编译/链接时将无法访问这些库,它们来自用户。
在我加载库之后,不幸的是我认为我将来会涉及到COM来调用派生函数。也许我可以使用我一直在阅读的CLI / C++包装器,但我在这方面非常没有经验,希望得到任何建议或适当文章的链接。
现在我想扩展插件DLL以允许托管DLL(我主要关心C#)。我希望所有相同的魔法都发生在C#插件DLL中。
如何动态加载这些dll呢?我目前正在使用的win32的LoadLibrary可能不会对托管DLL感到满意。我在编译/链接时将无法访问这些库,它们来自用户。
在我加载库之后,不幸的是我认为我将来会涉及到COM来调用派生函数。也许我可以使用我一直在阅读的CLI / C++包装器,但我在这方面非常没有经验,希望得到任何建议或适当文章的链接。