Linux32位下如何给64位无符号整型变量赋值遇到的一个奇怪的问题
这个问题令我百思不得其解,折磨好几天了。
开发环境:Linux32位
编译器:GCC 4.0
调试器:GDB
问题描述:
***********************************************************8
下面是获取整型的函数:
unsigned long long get_int()
{
unsigned long long ret = 0;
。。。
return ret;
}
下面是调用函数的逻辑:
unsigned long long test = 0;
test = get_int();
在gdb中跟踪get_int()的整数值是4478717749,但经过test = get_int();后,
test的值是183750433.
***************************************************88
我不明白为什么会出现上面的问题?
[解决办法]
是不是get_int 的声明在另一个程序文件里,而在调用的程序文件里又没有声明。
[解决办法]
get_int的定义在另一个文件里