我想从我的C++程序中的dll调用纯C风格的函数。我尝试使用reinterpret_cast
到__cdecl
来铸造函数指针,并且仍然保留_stdcall
的调用约定。我是Windows C++编程的新手。在C++中使用基于C风格的堆栈调用机制来制作C函数指针
编辑代码从评论
reinterpret_cast< Error (__cdecl*)(int,int)> (GetProcAddress(Mydll::GetInstance()->ReturnDLLInstance(), "add"))(1,10)
是我的电话。实际函数的语法似乎已经被宣布为
Error __cdecl add(int,int);
调试抛出我的错误运行时检查失败#0。我在Windows的C++工作
发表一些代码。 – 2011-05-23 22:13:13
@mani通过编辑您的问题发布代码 – 2011-05-23 22:30:02
@Bo和mattst88:如果我无法访问我的c代码,该怎么办?我使用getprocaddress来获取我的dll的导出函数。感谢大家的回应! @尼尔 - 我为这个笨拙的帖子感到抱歉 - 我会编辑它。 – ash 2011-05-23 22:56:25