小编Pai*_*ler的帖子

从动态加载的 dll 内部调用 C++ 函数

我正在编写一个 C++ 程序,它在运行时动态加载一个 dll 并在该 dll 中调用一个函数。那工作正常,但现在我想从 dll 中调用在我的 C++ 程序中定义的函数。

我的 main.cpp 看起来像这样:

#include <Windows.h>
#include <iostream>

typedef void(*callC)(int);

int main()
{
    HINSTANCE dllHandle = LoadLibrary("D:\Libraries\lib.dll");

    callC func = (callC)GetProcAddress(dllHandle, "callC");

    func(42);

    FreeLibrary(dllHandle);
}

// I want to call this function from my dll
void callableFromDll(){
}
Run Code Online (Sandbox Code Playgroud)

被访问的dll部分是用C写的,如下所示:

#include <stdio.h>

void callC(int);

void callC(int i){
    print(i);

    // Call the C++ function
    //callableFromDll();
}
Run Code Online (Sandbox Code Playgroud)

我已经阅读了__declspec(dllimport)__declspec(dllexport)属性,但我对 C++ 真的很陌生,不确定这些是否正确使用,如果是,如何使用它们。

c c++ dll declspec

1
推荐指数
1
解决办法
66
查看次数

标签 统计

c ×1

c++ ×1

declspec ×1

dll ×1