c++ - 在纯 native 代码中使用托管对象

标签 c++ visual-studio-2010 unmanaged managed

我来了: 我有一个代码库,它是用 Linux(C++) 编写的,并已移至 Windows。我使用 CMake 来获取 sln 文件。我在 Visual Studio 2010 中打开 sln 文件并使用“无 clr 支持选项”构建项目。

现在我有了一个托管 dll。我想创建和使用该 dll 中包含的类的对象。我做了很多谷歌搜索并完成了 3-4 个教程,例如:

http://www.codeproject.com/Articles/35041/Mixing-NET-and-native-code 但它没有用。

有什么建议吗?

最佳答案

您首先需要为托管 DLL 编写一个 COM 可调用包装器 (CCW)。 这将使托管对象看起来像 native 代码的 COM 对象。 然后,您可以像使用 COM 服务器一样使用托管对象。

这是关于 CCW 的链接 - http://msdn.microsoft.com/en-us/library/f07c8z1c.aspx

此链接将为您提供执行此操作所需的所有其他内容的引用 - http://msdn.microsoft.com/en-us/library/zsfww439.aspx

关于c++ - 在纯 native 代码中使用托管对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14452354/

相关文章:

c++ - VC++中的Runge Kutta方法

c++ - 静态、非成员或静态非成员函数?

c++ - 请求 ‘write’中的成员 ‘chol_out_data’,非类类型

c++ - 为什么 libcurl 需要 `CURLOPT_NOSIGNAL` 选项,启用后有什么副作用?

c# - 如何将对象数组传递给非托管代码?

.net - 如何将非托管结构转换为托管结构并返回?

.net - 如何在另一个目录中分离托管和非托管 DLL

c++ - Key-Value DB(Berkeley DB 的替代品?)

visual-studio-2010 - MSBuild.Community.Tasks 和 Zip,设置 zip 文件夹结构

visual-studio-2010 - 使用 devenv.com 编译安装项目 - "ERROR: Unable to update the dependencies of the project"