简单动态库以及调用动态库例子

本文详细介绍使用C语言和VS2015创建并调用动态链接库(DLL)的过程。从创建DLL项目开始,逐步讲解如何定义和导出函数,并演示如何在另一程序中调用这些函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

动态库的写法,以前没有写过动态库,凭第六感觉应该很简单。but,我却在网上找资料时,没有一个例子是我想要的,简单又能说明问题。以至于耗费了大量的时间。以下例子是用C语言编写,编译环境为vs2015。

//------------------------------------------------------------------------------------------------------------------//

动态库:

编写一个库名字为dllTest

新建方法:

文件-》新建项目-》win32项目-》应用程序类型 选择dll ,附加项目  选择空项目-》完成

添加一个头文件名为test.h,添加一个源文件test.c

test.h 文件内容
#ifndef _TEST_H
#define _TEST_H

_declspec(dllexport) int add(int a, int b); //_declspec(dllexport) 用来导出函数, 若没有,则不能导出对应的.lib文件


#endif // !_TEST_H

test.cpp文件内容


#include "test.h"//包含头文件

int add(int a, int b)//实现add
{
	return a + b;
}

右击生成,注意不是点击运行。

生成成功之后会在dllTest\Debug下生成dllTest.dll  dllTest.lib

//------------------------------------------------------------------------------------------------------------------//

调用刚刚写的动态库

编写一个程序名为callTest

新建方法:

文件-》新建项目-》win32控制台应用程序-》应用程序类型 控制台应用程序 ,附加项目  选择空项目-》完成

添加一个main.c文件

1)首先将库生成的 dllTest.lib 拷贝到与当前Debug 同一目录下

2)其次,将dllTest.dll 拷贝到Debug下与.exe同一目录下

3)配置:

右击项目-》属性-》链接器-》常规(附加库目录 填写.lib所在的目录,因此.lib也可以不用拷贝到1)目录下,只要引用到就可以

链接器-》输入(附加依赖项  填写.lib的名字  即dllTest.lib)

4)代码(main.c)

#include "test.h"   //将头文件加到该项目的头文件中(即项目头文件下有test.h),这里是包含
#include <stdio.h>

int main()
{
	printf("%d",add(7, 8));
	system("pause");
	return 0;
}
5)运行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值