- 论坛徽章:
- 0
|
操作系统为aix5.2,64位。我的代码很简单(是新手,刚从SCO上转到aix上的),如下:\r\n- \r\n#include <stdio.h>;\r\n\r\ntypedef struct st_node\r\n{\r\n char name[20];\r\n char addess[100];\r\n} ST_NODE;\r\n\r\nint main(void)\r\n{\r\n ST_NODE *node1;\r\n\r\n node1 = (ST_NODE *) malloc(sizeof(ST_NODE));\r\n printf(\"step1...\\n\");\r\n bzero(node1, sizeof(ST_NODE));\r\n printf(\"step2...\\n\");\r\n\r\n return 0;\r\n}\r\n
复制代码 \r\n假设该文件名为t.c,\r\n1、我用xlc -o t t.c编译后得到t,运行t,输出如下:\r\nstep1...\r\nstep2...\r\n一切正常。\r\n2、我用xlc -q64 -qarch=ppc64 -o t t.c编译后得到t,运行t,输出如下:\r\nstep1...\r\nSegmentation fault(coredump)\r\n很显然程序coredump了。\r\n\r\n问题:\r\n为什么bzero会coredump呢???但用malloc分配内存是可以的啊。\r\n请大家帮忙看看。谢谢了。。。 |
|