//dll
#include?windows.h
extern?"C"?//保持C语言文件
void?_declspec?(?dllexport?)?tryProc()??//定义函数
{
MessageBox(NULL,_T("a"),_T("a"),MB_OK);
}
-------------------------------------
//C
int?main()
HMOUDLE?dll?=?LoadLibrary(/*DLL文件名*/);
if(dll?!=?NULL)
FARPROC?try?=?GetProcAddress(dll,"tryProc");
if(try?!=?NULL)
tryProc();//假如函数有返回值,可以用try()得到返回值
/*_asm?call?tryProc*/
return?0;
C语言没办法直接调用C++库
要调用C++的库
必须加一层封装
即
先写一个C++文件,
对每个要调用的C++DLL中的函数func_name,
封装成
extern
"C"
return_type
func_name_C(list)
return
func_name(list);
这样的形式.
然后
把这个c++文件,
封装成dll
C文件调用这个dll里面的函数,
间接调用原始DLL
程序里,便和普通函数调用一样,去调用它的函数.
当然,你可以在源程序里把.lib 名字 写上,编译时自动去链接,例子:
#pragma comment (lib, "什么.lib")
以上就是土嘎嘎小编为大家整理的c语言获得dll的函数相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!