|
发表于 2018-12-24 19:08:29
37797 浏览 1 回复
各位大神 求指点 kernel下如何取随机数
各位大神 求指点 kernel下如何取随机数 求例子 因为没有stdlib.h
以下这份代码 无法编译 求可用的例子 或者调用uuid.h 也行
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define STR_LEN 32//定义随机输出的字符串长度。
#define CHAR_MIN '0'
#define CHAR_MAX '9' //定义输出随机字符串每个字符的最大最小值。
char* getSystemTime(void)
{
static char str[STR_LEN + 1] = {0};
int i;
srand(time(NULL));//通过时间函数设置随机数种子,使得每次运行结果随机。
for(i = 0; i < STR_LEN; i ++)
{
str[i] = rand()%(CHAR_MAX-CHAR_MIN + 1) + CHAR_MIN; //生成要求范围内的随机数。
}
// printf("%s\n", str);//输出生成的随机数。
return str;
}
|
|
|
|
|
|
|
|
time获取的随机数是伪随机数,可以通过内核支持的/dev/random节点来获取真随机数~
这个驱动是内核的drivers/char/random.c~
网上这部分教程挺多的~ |
|
|
|
|
|
|
登录或注册
扫一扫关注迅为公众号
|