【发布时间】:2014-12-08 15:41:12
【问题描述】:
我在 DLL 中有这个函数:
CPPLIBRARY_API int fnCPPLibrary(int a, int b)
{
return a + b;
}
主要功能:
int main(){
FARPROC myCppProc;
HINSTANCE hDll;
DWORD L;
int result;
hDll = LoadLibrary("CPPLibrary");
if (hDll != NULL){
myCppProc = GetProcAddress(hDll, "fnCPPLibrary");
if (myCppProc != NULL){
result = myCppProc();
cout <<"Result from library: " <<result;
int a;
}
}
}
当 fnCPPLibrary 没有参数时,我可以轻松调用它,但是如何将参数从程序传递到该 dll 函数?是简单还是需要一些复杂的代码?
【问题讨论】:
-
您是否尝试查看documentation for GetProcAddress?它有一个例子。
-
就像任何需要参数的函数一样调用它。
-
@crashmstr,是的,我读过,但我不明白。
-
@PaulMcKenzie 它抛出错误“要调用的参数太多”
-
@pawkondr 该示例有点含糊,但您需要转换函数指针以获得正确的签名。但是一个简单的Google of "GetProcAddress Example" 有其他例子。
标签: c++ dll loadlibrary