出没于杭州和青岛的程序猿一枚,对内核略懂一二
分类: C/C++
2012-04-18 15:12:20
最近在移植一个32位的程序到64位上,结果由于32位程序的一个不规范,导致出现了问题。希望大家不要再出现类似低级的问题。
问题原因如下:
A.c中一个函数funcA返回值是char *,在B.c中调用了函数。由于没有声明funcA,虽然能够正确编译通过,并且B也能找到函数funcA,但是因为没有声明,B.c中会默认funcA的返回值是int(4字节),从而导致无法正确获取到A中的char型返回值(8字节)。