C#使用CLR/C++的DLL间接调用Native C++的DLL

标签:
cclr/cnativec |
分类: C/Cpp |
C#使用CLR/C++的DLL间接调用Native C++的DLL
开发环境:win 7
第一步:创建一个C#的Console Application工程-->命名“ConsoleApplication1”。
第二步:创建一个CLR/C++的工程,右击“ConsoleApplication1”上面的“Solution 'ConsoleApplication1'”-->Add-->NewProject-->CLR-->Class Library -->命名“NetCpp”。
第三步:创建一个Native C++工程,同上,右击-->Add --> NewProject -->Win32 -->Win32 Project
以上创建三个工程,下面开始编写代码与设置环境:
第四步:打开"NativeCpp.h"在其中加入一些成员函数与变量;
#define NATIVECPP_API __declspec(dllexport)
// This class is exported from the NativeCpp.dll
class NATIVECPP_API CNativeCpp {
public:
CNativeCpp(void);
// TODO: add your methods here.
int getA()
{
}
};
第五步:在NetCpp工程中引用NativeCpp的DLL;
右击NetCpp工程-->Properties
http://s10/mw690/a50d2d74gd46938e7aaa9&690C++的DLL" TITLE="C#使用CLR/C++的DLL间接调用Native
http://s16/mw690/a50d2d74gd4693a61a97f&690C++的DLL" TITLE="C#使用CLR/C++的DLL间接调用Native
http://s13/mw690/a50d2d74gd4693bcfdb5c&690C++的DLL" TITLE="C#使用CLR/C++的DLL间接调用Native
第六步:打开CLR/C++工程的"NetCpp.h",加入#include "NativeCpp.h"
#include "NativeCpp.h"
using namespace System;
namespace NetCpp {
public ref class Class1
{public:
int getB()
{
CNativeCpp a;
return a.getA();
}
};
}
第七步:右击ConsoleApplication1工程的References-->Add Reference-->Projects-->选择"NetCpp"
第八步:打开ConsoleApplication1工程program.cs。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
NetCpp.Class1 cl = new NetCpp.Class1();
Console.WriteLine("getA()" + c1.getB().ToString());
Console.Read();
}
}
}