C++ 调用 C#

简单的C++ 程序调用C# 方法 

C++ Code 

// CPP_NET.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "CPP_NET.h"
#using "../test1/bin/Debug/test1.dll"   //引用dll
using namespace test1;

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// 唯一的应用程序对象

CWinApp theApp;

using namespace std;

int main()
{
    int nRetCode = 0;

    HMODULE hModule = ::GetModuleHandle(nullptr);

    if (hModule != nullptr)
    {
        // 初始化 MFC 并在失败时显示错误
        if (!AfxWinInit(hModule, nullptr, ::GetCommandLine(), 0))
        {
            // TODO: 更改错误代码以符合您的需要
            wprintf(L"错误: MFC 初始化失败\n");
            nRetCode = 1;
        }
        else
        {
            // TODO: 在此处为应用程序的行为编写代码。
			Class1 ^ a = gcnew Class1();
			int n = a->pa();
			int m = a->add(3, 5);
			printf("N=a->pa() %d\n", n);
			printf("N=a->add(3, 5) %d\n", m);
			getchar();
        }
    }
    else
    {
        // TODO: 更改错误代码以符合您的需要
        wprintf(L"错误: GetModuleHandle 失败\n");
        nRetCode = 1;
    }

    return nRetCode;
}

C# Code 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace test1
{
    public class Class1
    {
        public int pa()
        {
            return 4;
        }
        public int add(int a, int b)
        {
            return a + b;
        }
    }
}

C++ 编译设置 :

C++ 调用 C#_第1张图片

 

 

你可能感兴趣的:(学习)