|
楼主 |
发表于 2007-3-7 21:11:44
|
显示全部楼层
明白错在哪了,系统提示 “uname error: Bad address” 是因为没有给pa指针没分配内存无法运行,给pa分配内存后就行了
- #include "apue.h"
- #include <sys/utsname.h>
- int main(void)
- {
- struct utsname *pa;
-
- if ((pa = calloc(sizeof(struct utsname), MAXLINE)) == NULL)
- err_sys("calloc error");
- if (uname(pa) < 0)
- err_sys("uname error");
- printf("%s\n",pa->sysname);
- printf("%s\n",pa->nodename);
- printf("%s\n",pa->release);
- printf("%s\n",pa->version);
- printf("%s\n",pa->machine);
- exit(0);
- }
复制代码
- XX@XX:/bak/cai$ ./a.out
- Linux
- XX
- 2.6.17-2-686
- #1 SMP Wed Sep 13 16:34:10 UTC 2006
- i686
复制代码 |
|