我们可以动态链接DLL的不同方式有哪些

时间:2016-01-14 11:53:48

标签: c++ visual-c++ dynamic-linking

我想动态链接.dll。 有多种方法可以做到这一点?

我知道的一种方法是使用HMODULE WINAPI LoadLibrary(_In_ LPCTSTR lpFileName) 功能。 还有其他方法吗? 我想了解下面的代码:

#if defined WIN32
    // We want to define DTE_DLL_EXPORT if we are making
    // a dll, but not if we are making a static library...
    #if defined DTE_STATIC
        #define GFITDTE_ENTRYPT
    #else
        #if defined _GFITDTE_BUILD_
            #define GFITDTE_ENTRYPT __declspec(dllexport)
        #else
            #if defined DTE_IMPORT
                #define GFITDTE_ENTRYPT __declspec(dllimport)
            #else
                #define GFITDTE_ENTRYPT
            #endif
        #endif
    #endif
#else // Not WIN32

可以解释一下上面的代码吗?

1 个答案:

答案 0 :(得分:1)

显示的代码与LoadLibrary无关。这是头文件的典型特征,这反过来意味着您构建了一个不应该通过LoadLibrary加载的DLL。相反,编译器从头部知道函数原型,并且链接器使用导入库来设置DLL链接。