我已经用 C++ 创建了一个 DLL,并且能够在另一个应用程序中成功地使用它。我想要的是在我的应用程序代码中使用一个函数 - 而不是 DLL - 并且能够在 DLL 中使用该函数。
这可能吗?谢谢。
最佳答案
当然 - 如果你可以在你的 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);
}
这就是 C 风格 plugin APIs喜欢NPAPI工作。
关于c++ - 如何从c中的dll调用源代码中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13866424/