【发布时间】:2010-11-12 16:51:26
【问题描述】:
我在尝试使用 initstate_r 时遇到了崩溃:
(gdb) run
Starting program: /home/user/test.out
Program received signal SIGSEGV, Segmentation fault.
0x40052d00 in initstate_r () from /lib/libc.so.6
代码:
#include <stddef.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define STATELEN 256 /* random number state buffer */
main()
{
char randomStateBuffer[STATELEN];
struct random_data randData;
printf("Before initstate");
/* seed the random number generator */
initstate_r (time(NULL), (char *)&randomStateBuffer, STATELEN,
(struct random_data *)&randData);
printf("initstate done");
}
我已经尝试在 gcc 3.3.6 和 4.3.3 中编译它并且都发生了崩溃。
【问题讨论】:
标签: c random crash segmentation-fault