我无法访问我的原始账户 https://stackoverflow.com/users/211631/whacko-cracko。如果可能的话,请版主合并帐户。
这是我的问题。
以下 C 程序在 IA-64 上出现段错误,但在 IA-32 上运行良好。
int main()
{
int* p;
p = (int*)malloc(sizeof(int));
*p = 10;
return 0;
}
为什么会出现这样的情况呢?
在 C 中默认返回类型是int
如果函数没有原型化。在 ia64 中,指针的大小大于 int,因此可能会出现段错误。
Update:问题基本上是为什么你应该始终对你的函数进行原型设计(或者包含适当的头文件)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)