C语言动态链接库DLL的调用

2025-10-07 21:37:59

1、新建DLLTest文件夹,在该文件夹中新建source文件夹

C语言动态链接库DLL的调用

2、在source文件夹中造add.c(    注意.cpp不行   )关门放代码:

_declspec(dllexport)int add(int a,int b){ return a + b;}

保存

C语言动态链接库DLL的调用

C语言动态链接库DLL的调用

C语言动态链接库DLL的调用

3、win+R+cmd请出总指挥“命令行”,输入(小心空格)

cl /c E:\VCfile\DLLTest\source\add.c /FoE:\VCfile\DLLTest\source\add.obj开始挥舞编译器大棒。挥舞原则:

/c:只编译

E……add.c:C文件的老巢(替换成你的add.c路径)

/Fo:造出个obj

E……add.obj:obj放这儿(随机应变部分)

看见没?.obj已经诞生了

【如果找不到cl编译器,只需3步:一步,环境变量->系统变量->path中添加cl.exe路径,分好与前面分开(一般是:鬼晓得你把VC6安装在哪儿\VC6.0\Microsoft Visual Studio\VC98\Bin);二步,    新建     个名为INCLUDE的系统变量,值为:你的VC6安装位置\VC6.0\Microsoft Visual Studio\VC98\Include,三步:和二步类似,     新建     LIB变量,值为你的VC6安装位置\VC6.0\Microsoft Visual Studio\VC98\Lib】

C语言动态链接库DLL的调用

4、继续输入(路径也要随机应变)

link /DLL /out:E:\VCfile\DLLTest\source\add.dll E:\VCfile\DLLTest\source\add.obj

开始挥舞链接器大棒,和cl类似。两大棒下去,眼睁睁看到add.dll出来(看命令行后面的文件夹中已经出现add.dll)。哈哈

C语言动态链接库DLL的调用

5、dll的制造就告一段落,下面调用dll。

新建源文件call_dll.c或.cpp放到DLLTest文件夹,同时add.dll也复制过来(看图),在call_dll.c中放入以下代码:

#include <stdio.h>#include <windows.h>

typedef int(* my_fun)(int a,int b);

int main(void){ HINSTANCE dllA; my_fun f1;

 dllA = LoadLibrary("add.dll"); if(NULL==dllA)  printf("无法加载dll!\n"); f1 = (my_fun)GetProcAddress(dllA,"add"); if(NULL==f1)  printf("找不到函数地址!\n");

 printf("调用结果:%d\n", f1(2,3));

 return 0;}

C语言动态链接库DLL的调用

6、编译,连接运行出现个5!此刻是属于程序员的你的,加鸡腿!

C语言动态链接库DLL的调用

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢