永发信息网

关于C++加载DLL文件 用的LoadLibrary方法的问题

答案:3  悬赏:0  手机版
解决时间 2021-03-19 14:19
关于C++加载DLL文件 用的LoadLibrary方法的问题
最佳答案


#pragma comment(lib,"TestDLL.lib")
_declspec(dllimport) int clFun(int a, int b);

void main()
{
int a = 1,b = 2,c =0;
c = clFun(a,b);
}



void main()
{
int a = 1,b = 2,c =0;

//定义一个函数指针
typedef int (* Any_name)(int param1, int param2);

//定义一个函数指针变量
Any_name pfFuncInDll = NULL;

//加载dll
HINSTANCE hinst=LoadLibrary(L"TestDLL.dll");

if ( hinst != NULL )
{
//找到dll的clFun函数
pfFuncInDll = (Any_name)GetProcAddress(hinst, "clFun");

//调用dll里的函数
if (pfFuncInDll != NULL )
{
c = pfFuncInDll(a,b);
}
FreeLibrary(hinst);
}
}
全部回答
可以参考如下语法:
HINSTANCE hDLL; // DLL句柄
typedef int __stdcall (*DLLFUN)(int a, int b);
DLLFUN Dll_clFun;
//读取:
if(hDLL == NULL)
hDLL=LoadLibrary((LPCTSTR)"TestDLL.dll");
if(hDLL)
{
Dll_clFun =(DLLFUN)GetProcAddress(hDLL,"clFun");
}
else
{
ShowMessage("加载DLL失败,程序退出");
}
//释放:
if(hDLL)
{
FreeLibrary(hDLL); // 卸下DLL 
hDLL = NULL;
}追问DLLFUN Dll_clFun;报错。。DLLFUN未声明的 这是什么?
typedef int __stdcall (*DLLFUN)(int a, int b); 报错。。语法错误:“(”追答详细错误是在第几行呢?
试试把:
HINSTANCE hDLL; // DLL句柄
改成
HINSTANCE hDLL=NULL ; // DLL句柄
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
东风风神S 30系列的车怎么样?
相山区淮北享家民宿在哪里啊,我有事要去这里
歌词你还记得吗
梦到扶着老人去厕所
dnf鱼雕坠饰怎么样 鱼雕坠饰和兵书
味美思小吃地址在哪,我要去那里办事
新概念第三册38课中“He has to deduce what
健身教练培训学习需要多长时间才能学会?像赛
小花台地址在什么地方,想过去办事
派出所怀疑出生医学证明是假的怎么办
金嗓子喉片和草珊瑚含片,哪个更好?
永远不要放弃梦想的英文翻译是什麽?
我15年办的信用卡,逾期超过90天,但是还完了
GTA5 可以买多少套可进入住的房子与堡垒
老师在学校里讲课;学生听老师讲课在大学称作
推荐资讯
鸽子踩破蛋什么时候才能重新繁值
天猫搜不到欣泉花生核桃露,这种饮品是假的吧
给 汽车上哪些保险
广西钦州浦北县福旺镇有快递公司吗,必须在福
梦见洗头头上有蛳子
成丰副食批发部地址有知道的么?有点事想过去
嗓子很疼,发炎了,有什么方法可以消炎,不吃
一般工业常用的二氧化碳气瓶的使用压力是多少
有什么air jordan情侣鞋
左边一个金字旁右边一个囊,读什么?
李凯馨的卷发叫什么名字
高筋面粉和低筋面粉有什么区别?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?