【问题标题】:Add to C++ application C# GUI添加到 C++ 应用程序 C# GUI
【发布时间】:2011-12-10 06:57:18
【问题描述】:

我想为我的 C++ 应用程序添加一个 C# .NET GUI 。 我的 C++ 应用程序非常简单,但我有一些指针和引用。

C# 识别此指针和引用的最佳方式是什么?

【问题讨论】:

    标签: c# c++ user-interface


    【解决方案1】:

    有几种方法,这里有一些,这取决于你的品味和你的项目。

    a) 如果您的 C++ 项目是用 COM 编写的,请使用 COM 互操作。

    b) 使用 COM 互操作,您可以将 COM 包装器写入您的 C++ 应用程序并从 C# 中使用它。

    c) 使用 C++/CLI,即将项目转换为托管 C++ 应用程序,并在 C++ 中创建使用 C++ 代码的托管类。 您还可以编写一个托管的 C++ dll 来加载您的 C++ dll 或静态库。

    d) 使用 P INVOKE C 调用,从与 C++ 类一起使用的 C++ 代码中导出 DLL C 函数,使用 [dllimport] 属性从 C# 调用 C 函数。 您可以使用 IntPtr 类型和更好更安全的 SafeHandle 来表达指针和引用。

    所有方法都有优点和缺点,但每个列出的技术都需要一个“中间层”,你不能直接从 C# 调用 C++ 代码。

    【讨论】:

      【解决方案2】:

      如果我理解正确,您想在基于 C# 的 UI 应用程序中使用用 C++ 程序编写的功能。

      您可以通过创建基于 C++/CLI 的 dll 来做到这一点。 C++/CLI 可以轻松调用 C++ 代码,C# 可以轻松调用 C++/CLI 代码。通过这种方式,您可以在基于 C# 的程序中使用用 C++ 编写的功能

      有关所有可能的方式,请参阅this 帖子

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-07-01
        相关资源
        最近更新 更多