如何从c中的dll调用源代码中的函数

时间:2012-12-13 18:49:36

标签: c++ dll

我用C ++创建了一个DLL,并且已成功地在另一个应用程序中使用它。我想要的是在我的应用程序代码中使用一个函数 - 而不是DLL - 并且能够在DLL中使用该函数。

这可能吗?感谢。

1 个答案:

答案 0 :(得分:4)

当然 - 如果你可以调用你的DLL中的函数,你可以例如从托管应用程序(或同一进程中的另一个DLL)传递函数指针,然后调用它们:

// DLL side:
typedef void (*CallbackFunc)();
APISTUFF void dllFunction(CallbackFunc f) {
  f();
}

// hosting app side:
void hostFunction() {
    // ...
}

void doPluginStuff() {
  // ... load DLL, resolve dllFunction, etc.
  dllFunction(&hostFunction);
}

这就是plugin APIs的C风格NPAPI的工作方式。