c++调用C静态库函数时,参数传递问题?(急求解)

cstone40 cstone40 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我在VS2012(安装了QT for vs2012)上开发QT程序时,调用了一个静态函数库中的一个函数,此函数只需要一个参数,然而在调试过程中,通过反汇编发现,在调用时向堆栈传递了2个参数,第一个push为所需参数,第二个为异常参数,如下所示:

74: char* pip = "192.168.110.35";
00D04190 mov dword ptr [pip],0D1D5CCh

75: pj_str_t s = pj_str(pip);;//pj_str为静态函数库中的函数,需要一个参数
00D04197 mov eax,dword ptr [pip]
00D0419A push eax //第一个参数为争取参数
00D0419B lea ecx,[ebp-0A8h]
00D041A1 push ecx //异常参数????????????
00D041A2 call pj_str (0D08D50h)
...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部
cstone40
C++ 语言 65,214 成员 250,514 内容