我有一个用 C# 制作的 DLL,这个 DLL 包含一些类似 Creator 的类。
我需要加载这个 DLL 并在 C++ 非托管中使用 Creator 类,
那么有什么方法可以创建该实例,或者我必须只加载公开的函数吗?
我需要这样的东西:
CreatorInstance->Init();
这可能吗?
您需要的大部分内容都可以在这里找到:http: //msdn.microsoft.com/en-us/library/x0w2664k%28VS.80%29.aspx
首先,您需要了解用于 C++ 编译的 /clr 开关。然后,您需要了解 Microsoft 添加的允许混合程序集的 C++ 扩展。(指向托管类的 C++“指针”将使用 p^ 而不是 p*,依此类推。)
首先,有可能并且您没有“必须”使用 CLI 或 /clr 开关。使用良好的旧 COM 架构,您可以很容易地做到这一点http://msdn.microsoft.com/en-us/library/zsfww439.aspx。理解 COM 的工作方式可能是这里最大的挑战,但是一旦你知道它就会很有用。