Каковы различные способы, которыми мы можем динамически связать DLL

Я хочу связать.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 ответ

Показанный код не имеет ничего общего с LoadLibrary, Это типично для заголовочных файлов, что, в свою очередь, означает, что вы создаете DLL, которая НЕ должна загружаться через LoadLibrary, Вместо этого компилятор знает прототипы функций из заголовка, а компоновщик использует библиотеку импорта для настройки связывания DLL.

Другие вопросы по тегам