我有一个用本机 C++ 编写的应用程序,我想在 .NET 虚拟机上运行它。我正在考虑使用 Visual Studio 2008 编译器将 C++ 代码重新编译为 C++/CLI。遗憾的是,我没有找到任何有关如何执行此操作的文档,因此我的问题是:
- 这实际上有意义吗?我正在尝试不可能的事情吗?
- 在哪里可以找到有关该主题的信息?
许多本机 C++ 代码实际上只会在 C++/CLI 上编译和运行。这确实是一种hybrid可以调用本机 Win32 函数并使用标准 C 库(如 OpenGL)的编译器。您甚至可以直接调用 COM 接口(您可以使用本机 C++ 编译器执行的所有操作)。
.Net 库也可用,但您可以为这些库创建托管类(使用参考级关键词)。你将使用gcnew为这些类分配内存(来自垃圾收集堆)。普通类的内存仍然使用分配new and delete(来自标准的、非垃圾收集的堆)。
简而言之,您可以一点一点地迁移到 .Net,尽管在托管类和非托管类之间切换时仍然存在一些摩擦。
我发现这本书很有用:专业 Visual C++/CLI.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)