调用DLL中的函数失败的原因?
刚上班不久,给我一个小活,做一个IE插件,需要调用一个DLL中的几个导出函数,
有几个函数还好,有一个总是不成功,我怀疑是DLL有问题。
在那个写DLL的人电脑上,直接调用她的源码没有问题。
但是在我的电脑上调用DLL就会出错。
值得注意的一点是,她给我的关于导出函数的头文件里的函数是这样声明的,
#ifdef MAKEKEY_EXPORTS
#define MAKEKEY_API __declspec(dllexport)
#else
#define MAKEKEY_API __declspec(dllimport)
#endif
MAKEKEY_API DWORD Base64_Key(SafeSpace *safespace,SafeSpace_base64 *safespace_base64);
但是我调用的时候发现,定义函数指针时(我采用动态加载的方式调用DLL中的导出函数)采用_stdcall方式会报错,所以我只能采用_cdecl这种方式声明,
但是就是最后的结果不正确。就是这个Base64_Key函数有问题,直接导致后面的函数得不到正确的结果。
请问大家,到底是什么原因导致不能正确调用?函数指针已经获得,没有问题。就是返回的结果不对。
大家帮帮忙。这个程序我调了几天了,现在我还是试用期,要是因为这个把我辞了,我就亏大了。
大家给看看你