VC++如何在一个动态链接库中调用其他动态链接库

 我来答
twttmnny
推荐于2016-11-11 · TA获得超过109个赞
知道小有建树答主
回答量:190
采纳率:0%
帮助的人:92.6万
展开全部
以VC6为例,分为静态调用及动态调用,静态调用需要提供Lib及头文件,较为简单,而动态调用使用loadlibrary、FreeLibrary 加载及释放动态库,声明函数形参列表及变量,再取得函数地址送给此变量,变量名可以当函数名调用使用。
HINSTANCE m_hLib;
//声明形参列表
typedef LONG ( *pfn_Init) (形参);
//声明变量
pfn_Init fnInit;
LONG LoadLib()
{
m_hLib = NULL;
m_hLib = LoadLibrary(_T("XXX.dll"));
if (m_hLib == NULL)
{
cout <<"LoadLibrary XXX.dll Failed" << endl;
return -1;
}
return 0;
}
//取函数地址
fnInit = (pfn_Init) GetProcAddress (m_hLib, ("Init"));
//调用
fnInit ();
void FreeLib()
{
if (m_hLib != NULL)
{
FreeLibrary(m_hLib);
}
}
您手里至少得有个头文件,否则就只能用工具查看导出函数列表了。
Storm代理
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I... 点击进入详情页
本回答由Storm代理提供
kyotrue
推荐于2016-08-27 · TA获得超过1.5万个赞
知道大有可为答主
回答量:2.3万
采纳率:75%
帮助的人:6811万
展开全部
你在EXE中如何调用的,在动态链接库中就怎么调用,完全一样的。

1、静态链接法,引用目标动态链接库的.h头文件和.lib函数导出文件
2、动态链接法,使用LoadLibrary函数载入DLL,然后使用GetProcAddress获取函数地址
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式