zoukankan      html  css  js  c++  java
  • DLL导入

    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);
    	}
    }
    

  • 相关阅读:
    字符串-06. IP地址转换
    字符串-05. 字符串循环左移
    字符串-04. 字符串逆序
    BZOJ 3110
    UOJ 34 fft板子
    BZOJ 2716
    BZOJ 2243
    BZOJ 3697
    BZOJ 1176
    BZOJ 2599
  • 原文地址:https://www.cnblogs.com/coderyoyo/p/1869740.html
Copyright © 2011-2022 走看看