我有这样的功能
int xxxxxxxxxxxxxx_For_xxx(int val1, int val2, int val3, short int *FillVal)
这个FillVal应该将结果放在处理val1,val2和val3上。 所以,我在GDB上附上了这个过程,我做到了。
set $myvar=(int*)malloc(4)
call xxxxxxxxxxxxxx_For_xxx(1, 40, 0, $myvar)
通话时,返回值正确。因此,函数调用成功结束。 现在,如果我在gdb中打印$ myVar的值。
print *$myvar
我得到垃圾值。但是,在日志转储中,我可以看到放置了正确的值 在里面* FillVal。
为什么会这样?我在cygwin(intel)上尝试了一些示例程序,效果很好。 但是,当我在powerPC(linux)上尝试这个时。出现上述问题。