如何在vc++ 2010 中 调用外部库

2024-12-11 19:32:06
推荐回答(1个)
回答1:

项目>>项目属性>>配置属性>>链接器>>输入>>附加依赖项 里面添加test.lib
也可以用#pragma comment (lib,"test.lib")
使用 __declspec(dllimport) 调用外部库

还有就是调用LoadLibrary
在显式链接下,应用程序必须进行函数调用以在运行时显式加载 DLL。为显式链接到 DLL,应用程序必须:

调用 LoadLibrary(或相似的函数)以加载 DLL 和获取模块句柄。

调用 GetProcAddress,以获取指向应用程序要调用的每个导出函数的函数指针。 由于应用程序是通过指针调用 DLL 的函数,编译器不生成外部引用,故无需与导入库链接。

使用完 DLL 后调用 FreeLibrary。

例如:

以带有颜色区分的格式查看复制到剪贴板打印typedef UINT (CALLBACK* LPFNDLLFUNC1)(DWORD,UINT);
... HINSTANCE hDLL; // Handle to DLL
LPFNDLLFUNC1 lpfnDllFunc1; // Function pointer
DWORD dwParam1;
UINT uParam2, uReturnVal;

hDLL = LoadLibrary("MyDLL");
if (hDLL != NULL)
{
lpfnDllFunc1 = (LPFNDLLFUNC1)GetProcAddress(hDLL,
"DLLFunc1");
if (!lpfnDllFunc1)
{
// handle the error
FreeLibrary(hDLL);
return SOME_ERROR_CODE;
}
else
{
// call the function
uReturnVal = lpfnDllFunc1(dwParam1, uParam2);
}
}