如何将参数传递给 dll
How to pass parameters to dll?
我在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 函数?它是简单的还是需要一些复杂的代码?
函数指针必须具有与要调用的函数匹配的签名。
不知道CPPLIBRARY_API
是什么:
typedef int (*DLLFunc)(int, int);
DLLFunc myCppProc;
//...
myCppProc = (DLLFunc)GetProcAddress(hDll, "fnCPPLibrary"); // Cast to function pointer
myCppProc(1, 2); // call function
我不知道限定符CPPLIBRARY_API由什么组成,它可能很重要(可能是调用约定 - 您必须发布此信息)。 但一般来说,这就是您声明函数指针并使用 GetProcAddress
的方式。
相关文章:
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 使用指向成员的指针将成员函数作为参数传递
- 如何将参数传递给正在使用模板的类
- 是否有C++编译器选项允许激进地删除所有函数调用,并将参数传递给具有空体的函数
- 修改函数中的指针(将另一个指针作为参数传递)
- 如何将部分流作为参数传递
- 我正在开发服务器,ip作为参数传递不起作用
- 将成员函数指针作为参数传递给模板方法
- 如何在C++中将迭代器作为函数参数传递
- 将附加参数传递给使用 beast::bind_front_handler 调用的函数
- 如何将一个类的函数作为另一个类的另一个函数的参数传递
- 将参数传递为"const"的奇怪效果
- 如何在 c++ 中将函数作为参数传递?
- 在 C++ 中将非指定类型作为参数传递的最佳方法?
- 使用引用与指针将数组作为参数传递
- 如何将成员函数作为回调参数传递给需要"typedef-ed"自由函数指针的函数?
- 使用安全模式从DLL(通过(INTPTR)参数传递到该函数)获取char **
- 插件框架,参数传递,C ,DLL,GDI
- 将参数传递到dll C++中的函数
- 在 c 中编译 dll 时传递参数