简单的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++ 编译设置 :