c++调用C静态库函数时,参数传递问题?(急求解)
我在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)
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)
...全文
相关推荐
C生成静态库给C++调用出现undefined reference to ...解决方案_cpp
在C++程序中调用C编译的静态库时,可能会遇到“undefined reference to ...”错误,这通常意味着链接器无法找到对应的函数定义。
C与C++接口、静态库、动态库的互调
在C和C++中,调用静态库和动态库的方法略有差异。对于静态库,编译器在链接阶段会把库中的所有函数和变量纳入目标代码。
C调用C++库函数,简单实用
在C++代码中,我们可以这样定义一个可供C调用的函数:```cppextern "C" { void my_cpp_function(int arg1, char* arg2);}```extern "
静态库函数的调用
当你在项目中链接这个库时,编译器会将库中的所有代码合并到你的应用程序中,使得程序在运行时无需依赖外部库文件。调用MFC静态库函数的步骤如下:1.
C/C++静态库和动态库的编译
**静态库** 是将库函数链接到目标程序中,形成一个完整的可执行文件。在运行时,不需要单独的库文件。静态库的创建通常涉及以下步骤:1.


