2
我有這樣一個在DLL中的代碼:LoadLibrary和定義回調C DLL(函數指針)
int (*callback)(int a, int b);
void mainfunc()
{
callback(1, 2);
callback(3, 4);
}
爲了從C程序訪問該DLL,我用做:
#include <windows.h>
int callback(int a, int b) {return a+b;}
int main()
{
HANDLE dll = LoadLibrary("test.dll");
*(void**)GetProcAddress(dll, "callback") = (void*)callback;
((void(*))GetProcAddress(dll, "mainfunc"))();
FreeLibrary(dll);
}
該DLL仍然是C代碼,但主程序已切換到C#。如何處理函數指針?該代碼將如何在C#中?
也許是一個代表?不知道這實際上是如何做到的,儘管... – ekolis
這是一個簡化的例子嗎?不知道爲什麼你需要回調這樣一個簡單的等式。 – SwDevMan81
@ SwDevMan81,是的。 –