1、新建DLLTest文件夹,在该文件夹中新建source文件夹。
2、在source文件夹中造add.c。
3、win+R+cmd请出总指挥“命令行”,输入。
4、继续输入(路径也要随机应变)link /DLL /out:E:\VCfile\DLLTest\source\add.dll E:\VCfile\DLLTest\source\add.obj。
5、新建源文件call_dll.c或.cpp放到DLLTest文件夹,同时add.dll也复制过来。
6、编译,连接运行出现个5。调用成功。
注意事项:
C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
在c#类里添加[DllImport("dll名.dll")]即可:比如我用c开发了一个testdll.dll的dll文件,则我在c#类的构造函数前可以添加[DllImport("testdll.dll")],就把c开发的动态链接库添加进了c#项目里。
2. 在项目中添加一个Test.h头文件,该文件的内容如下://导出类}//导出函数__declspec(dllexport) void FuncTest()//导出对象extern __declspec(dllexport) CTest ObjTest这段代码中通过__declspec(dllexport)导出了类CTest、函数FuncTest和对象ObjTest。在.cpp文件中实现上面的声明与类的定义后,经编译就可以生成一个.dll和.lib文件了。二、静态加载DLL1. 新建一个Win32 项目。2. 将上面编译生成的.lib文件复制到,该项目下。3. 在项目中添加一个Test.h(通过该文件实现对DLL的静态加载),该.h文件的内容主要是从DLL的.h文件中复制过来。具体内容如下:#pragma comment(lib, test.lib)//导入类class __declspec(dllimport) CTest...{}//导入函数__declspec(dllimport) void FuncTest()//导入对象这个.h文件与dll的.h的不同就是,在开头加了#pragma comment(lib, test.lib),以及类、函数、对象前面的__declspec(dllexport)变成了__declspec(dllimport) 。通过这些修改就可以告诉编译器,这个.h文件中定义的类、声明的函数和对象都是从test.dll中导入的。在项目中完成对这些类、函数、对象的调用代码后,就可以将其编译成可执行文件。将生成的可执行为文件、以及上面生成的. dll文件复制到同一个文件夹中就可以正常运行这个可执行文件。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)