DLL导入方式

一、__declspec(dllimport)与__declspec(dllexport)相呼应

二、LoadLibrary、GetProcAddress方式

方式一、__declspec(dllimport)

  1、此方式与__declspec(dllexport)相对应,一般有如下定义:

#ifdef DLLWRAP_EXPORTS
#define DLLWRAP_API __declspec(dllexport)
#else
#define DLLWRAP_API __declspec(dllimport)
#endif

 

  因此只要不定义DLLWRAP_EXPORTS即可

  2、把生成dll对应的lib文件作为依赖库,exe运行时将自动链接dll。


方式二、LoadLibrary、GetProcAddress

  1、LoadLibrary(dllName)

  2、从dll获取函数指针,然后调用。

typedef void (*pfn)(void);
HMODULE pDllHandle = ::LoadLibrary(szDllFile);
if(pDllHandle != NULL)
{	
	pffunc = (pfn)GetProcAddress(pDllHandle, szFunctionName);	
	if( !pfCreateDataAgent )
	{
		FreeLibrary(pDllHandle);
	}
}

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-15
  • 2021-12-31
  • 2022-12-23
猜你喜欢
  • 2022-01-18
  • 2022-01-02
  • 2022-02-08
  • 2021-05-25
  • 2021-12-23
  • 2021-07-04
  • 2022-12-23
相关资源
相似解决方案