1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > C#使用CLR/C++的DLL间接调用Native C++的DLL

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

时间:2021-05-04 16:34:03

相关推荐

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

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

开发环境:win 7VS

简介:C#的exe使用CLR/C++间接调用Native C++的DLL.

第一步:创建一个C#的Console Application工程-->命名“ConsoleApplication1”。

第二步:创建一个CLR/C++的工程,右击“ConsoleApplication1”上面的“Solution 'ConsoleApplication1'”-->Add-->NewProject-->CLR-->Class Library -->命名“NetCpp”。

第三步:创建一个Native C++工程,同上,右击-->Add --> NewProject -->Win32 -->Win32 Project

-->命名“NativeCpp”-->Next-->选择"DLL"-->Export symbols.

以上创建三个工程,下面开始编写代码与设置环境:

第四步:打开"NativeCpp.h"在其中加入一些成员函数与变量;

#defineNATIVECPP_API__declspec(dllexport)

// This class is exported from the NativeCpp.dll

classNATIVECPP_API CNativeCpp {

public:

CNativeCpp(void);

// TODO: add your methods here.

intgetA()

{

return 20;

}

};

第五步:在NetCpp工程中引用NativeCpp的DLL;

右击NetCpp工程-->Properties

第六步:打开CLR/C++工程的"NetCpp.h",加入#include"NativeCpp.h"

#include"NativeCpp.h"

usingnamespaceSystem;

namespaceNetCpp {

publicrefclassClass1

{public:

intgetB()

{

CNativeCpp a;

returna.getA();

}

};

}

第七步:右击ConsoleApplication1工程的References-->Add Reference-->Projects-->选择"NetCpp"

再把Native C++产生的DLL复制到C#工程的bin\\Debug\\目录下.(若想在修改了NativeC++代码后动态的更新Native C++的DLL,需要在C#工程的属性中设置:PropertiesàBuild EventsàPost-build event command line:写入命令:copy$(SolutionDir)Debug\NativeCpp.dll$(TargetDir))

第八步:打开ConsoleApplication1工程program.cs。

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Linq;

usingSystem.Text;

namespaceConsoleApplication1

{

classProgram

{

staticvoidMain(string[] args)

{

NetCpp.Class1cl =newNetCpp.Class1();

Console.WriteLine("getA()" + c1.getB().ToString());

Console.Read();

}

}

}

原文地址:/s/blog_a50d2d7401018rxr.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。