创建C#类库项目,生成相应DLL文件
namespace CalcLib
{
namespace Calculation
{
public class Calc
{
public int Add(int a, int b)
{
return a + b;
}
}
}
}
编写C++代码,调用C# DLL
#include <iostream>
#using "CalcLib.dll"
using namespace std;
using namespace CalcLib::Calculation;
int main(int argc, char *argv[])
{
Calc ^obj = gcnew Calc();
cout << obj->Add(10, 20) <<endl;
return 0;
}
编译:
#VS2015 x86 本机工具命令提示符
cl /clr main.cpp
注意:
1. 托管对象声明需要用 ^
2. 托管对象要用 gcnew 创建对象
3. 托管对象的访问类似于指针 ->
4. 引用C# DLL 用 #using 指令
5. 引用namespace方式采用C++方式,即 using namespace Calc::Calculation