-2

我必须用 C# 和 C++ 中的逻辑编写一个 GUI。如何在 Visual Studio 2010 中创建项目,以便之后不会出现任何复杂情况(当我将链接两种语言时)。我需要扩展/插件/什么吗?

4

2 回答 2

3

首先,您需要有两个项目,一个用于 c# gui,一个用于 c++ 逻辑。如前所述,它们可以放入同一个解决方案中。如果您准备好使用托管 C++,那么您的逻辑可以放入一个类库中,UI 项目可以以传统方式访问该类库。将 C++(甚至是非托管)逻辑打包到托管类接口中是很常见的。

于 2012-05-08T12:55:33.793 回答
1

由于已经讨论了 C++ 托管代码中的逻辑。要在托管代码中调用非托管代码,您可以使用PlaPlatform Invocation Services (PInvoke)。它allows managed code to call unmanaged functions that are implemented in a DLL。例如看看这个 MSDN 代码

// PInvokeTest.cs
using System;
using System.Runtime.InteropServices;

class PlatformInvokeTest
{
    [DllImport("msvcrt.dll")]
    public static extern int puts(string c);
    [DllImport("msvcrt.dll")]
    internal static extern int _flushall();

    public static void Main() 
    {
        puts("Test");
        _flushall();
    }
}
于 2012-05-08T13:00:04.690 回答