【DLL相关】实现函数的DLL封装,并在另一个项目中调用

本文详细介绍如何通过创建DLL项目并封装函数,随后在另一个项目中调用这些函数的具体步骤。涉及DLL创建、函数导出及导入等关键技术点。

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

直接给出步骤:

===========函数的DLL封装===========

1.创建第一个项目:win32控制台程序,应用程序类型:DLL,附加选项:导出符号(命名:double_dll)

2.double_dll.h中加入函数定义
   extern DOUBLE_DLL_API int doublefun(int);//DOUBLE_DLL_API 根据项目名称不同而不同

3.double_dll.cpp加入函数实现
 extern DOUBLE_DLL_API int doublefun(int x)//DOUBLE_DLL_API 根据项目名称不同而不同
 {
  return 2*x;
 }

4.编译(产生的将是dll、lib文件,不是应用程序)

注:如果用Dependency Walker可以在编译后生成的double_dll.dll中看到int doublefun(int),那么说明我们已经把函数doublefun封装进dll,剩下的就是阐述如何在另外一个项目中调用这个dll文件中的函数。

===========调用DLL文件中的函数===========

1.创建第二个项目:普通的win32空项目(命名:call_doublefun)

2.把第一个项目编译后产生的.h放入与第二个项目的.cpp文件同一目录(方便include)

3.把第一个项目编译后产生的.dll和.lib放入第二个项目的Debug(就是应用程序的出生地)

4.设置:链接器-常规-附加库目录XXX\Projects\call_doublefun\Debug(这里的“XXX”所指代的大家都明白的)

5.设置:链接器-输入-附加依赖项double_dll.lib

6.在第二个项目的cpp文件的合适位置加入两句话

   第一句#include "double_dll.h"
   第二句extern _declspec(dllimport) int doublefun(int); 

举例:

#include <iostream>
#include "double_dll.h"
using namespace std;
extern _declspec(dllimport) int doublefun(int); 
void main()
{
 int x=0;
 cout<<"Please input X:";
 cin>>x;
 cout<<"2*X=";
 cout<<doublefun(x)<<endl;
}

参考:http://www.php18.com/tutorial-3150.html

转载于:https://www.cnblogs.com/caixu/archive/2011/01/08/1930951.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值