搜索

1

主题

1

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2018-12-24 19:08:29 34127 浏览 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;
}

回复

使用道具 举报

151

主题

508

帖子

3567

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3567
发表于 2018-12-25 14:59:34
time获取的随机数是伪随机数,可以通过内核支持的/dev/random节点来获取真随机数~
这个驱动是内核的drivers/char/random.c~
网上这部分教程挺多的~
回复 点赞

使用道具 举报

返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

登录或注册

官方客服

QQ:2551456065

官方QQ群

195631883

扫一扫关注迅为公众号

群号652692981

 
快速回复 返回顶部 返回列表