接到一个项目,对方提供了一个dll和动态库函数说明文档,文档内的 参数类型为string ,请问下各位。string 类型对应C++ 什么类型啊,char wchar_t 等都试过了不对。
C++代码
typedef int (WINAPI *tool)(int port,const wchar_t *userid[]); HMODULE hDLL = LoadLibrary(L"IcCard.dll"); if(hDLL != NULL) { tool too = tool(GetProcAddress(hDLL, "ic_test")); if(too != NULL) { const wchar_t * userid = L"123456"; //char userid[] = "123456"; int ss = too(1,&userid); printf("%d",ss); } }
Delphi 动态库函数
function ic_test(port: integer; userid: string; ): integer;stdcall;
帮帮忙啊
试过C# C++ Delphi 最终还是一样的问题,返回值为类型错误,可能并不是类型问题,而是动态库本身问题了。结帖了
应该是char *或者char [],其实这个对应就是内存地址之间的映射和数据格式的转换,有的时候一种格式可以对应很多类型。
谢谢。都试过了,都不行。搞不清楚为什么了,甚至怀疑是动态库的问题了。因为那边返回的提示为参数错误
@雅俗:
给你一点资料作为参照吧,这是我之前一个项目的整理,实在不行的话,你两方面都实现一下,然后再试一试,只能帮你到这里了
@精心出精品: 谢谢
http://blog.csdn.net/junzilang2002/article/details/78696523
pchar