在编译时加入DLL而无需再运行时连接的方法

本文介绍了一种在编译时将DLL集成到项目中的方法,从而避免运行时的显式连接。通过将动态链接库作为资源添加到工程,然后在运行时从资源中读取并写入DLL文件,再进行装入和使用,可以实现隐含连接libmySQL.dll。详细步骤包括添加资源、从资源中读取数据、创建DLL文件、装入DLL以及获取和使用导出函数。
摘要由CSDN通过智能技术生成

动态连接库一般是在运行时连接并使用,一般把动态连接库添加到工程跟目录下或者在系统文件夹下,但是有时为了隐含动态连接库文件,可以在工程中添加的方法。
1,首先在设计时把动态连接库添加到资源。如在InitMotorDB工程中添加libmySQL.dll文件作为资源

在使用动态连接库时,首先从资源中读取数据,然后写DLL文件(即从资源文件还原成动态连接库文件),然后装入,下来的流程就是跟显式连接动态连接库一样的操作了。
如下例子:
//头文件
class CMysql : public CObject 
{  
//。。。。
 //定义函数指针类型
 typedef MYSQL* (WINAPI *MYSQL_INIT)(MYSQL*);
 typedef MYSQL* (WINAPI *MYSQL_REAL_CONNECT)(MYSQL*, LPCSTR, LPCSTR, LPCSTR, LPCSTR, UINT,LPCSTR,UINT);
 typedef int (WINAPI *MYSQL_QUERY)(MYSQL*,LPCSTR);
 typedef MYSQL_RES* (WINAPI *MYSQL_USE_RESULT)(MYSQL*);
 typedef MYSQL_ROW (WINAPI *MYSQL_FETCH_ROW)(MYSQL_RES*);
 typedef void (WINAPI *MYSQL_FREE_RESULT)(MYSQL_RES*);
 typedef int (WINAPI *MYSQL_SELECT_DB)(MYSQL*,LPCSTR);
 typedef MYSQL_RES* (WINAPI *MYSQL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值