IA-64 上出现段错误,但 IA-32 上没有

2024-02-05

我无法访问我的原始账户 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(使用前将#替换为@)

IA-64 上出现段错误,但 IA-32 上没有 的相关文章

随机推荐