c ++ logic,c#gui

时间:2012-05-08 12:41:59

标签: c# c++ visual-studio-2010 user-interface

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

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分: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();
    }
}