如何在Visual Studio中将C++代码移植到C++/CLI?

Dim*_* C. 7 c++ c++-cli visual-studio

我有一个用本机C++编写的应用程序,我想在.NET虚拟机上运行.我正在考虑使用Visual Studio 2008编译器将C++代码重新编译为C++/CLI.遗憾的是,我没有找到关于如何做到这一点的任何文档,因此我的问题是:

  • 这真的有意义吗?我在尝试不可能吗?
  • 哪里可以找到有关该主题的信息?

Tar*_*don 7

许多本机C++代码实际上只能在C++/CLI上编译和运行.这实际上是一种混合编译器,可以调用本机Win32函数并使用OpenGL等标准C库.您甚至可以直接调用COM接口(您可以使用本机C++编译器执行的所有操作).

.Net库也可用,但是对于这些库,您可以创建托管类(使用ref class关键字).您将使用gcnew为这些类(从垃圾收集堆)分配内存.仍然使用newdelete(来自标准的非垃圾收集堆)分配正常类的内存.

简而言之,您可以逐点迁移到.Net,但在托管和非托管类之间切换时仍然存在一些摩擦.

我发现这本书很有用:Pro Visual C++/CLI.


Nik*_*nić 6

转到项目属性 - >常规 - >公共语言运行时支持 - >更改为/ clr

它现在称为CLR.在这里这里阅读它.