代码之家  ›  专栏  ›  技术社区  ›  Dimitri C.

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

  •  7
  • Dimitri C.  · 技术社区  · 16 年前

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

    • 这真的有道理吗?我是在尝试不可能的事吗?
    • 在哪里可以找到有关该主题的信息?
    3 回复  |  直到 16 年前
        1
  •  7
  •   Tarydon    16 年前

    许多本地C++代码实际上只是在C++或CLI上编译和运行。这真是一种 混合的 可以调用本机Win32函数并使用标准C库(如OpenGL)的编译器。你甚至可以直接调用COM接口(所有你可以用本地C++编译器做的事情)。

    .NET库也可用,但对于这些库,您可以创建托管类(使用 托管类 关键字)。您将使用 GCN新建 为这些类分配内存(从垃圾收集堆)。普通类的内存仍使用 新的 删除 (来自标准的非垃圾收集堆)。

    简言之,虽然在托管类和非托管类之间切换时仍存在一些摩擦,但您可以零碎地迁移到.NET。

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

        2
  •  5
  •   Nikola Smiljanić    16 年前

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

    现在叫做clr。阅读有关 here here .

        3
  •  2
  •   Sergey Teplyakov    16 年前

    在C++中,你可以简单地用/CLR重新编译你的代码库。这种称为ijw的技术(它只是工作的),因此您可以轻松地将现有的类与clr一起使用。

    推荐文章