请选择 进入手机版 | 继续访问电脑版

Exynos4412/4418/6818/i.MX6开发板俱乐部

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 25867|回复: 1

各位大神 求指点 kernel下如何取随机数

[复制链接]

1

主题

1

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2018-12-24 19:08:29 | 显示全部楼层 |阅读模式
各位大神  求指点  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;
}

回复

使用道具 举报

57

主题

264

帖子

1924

积分

管理员

Rank: 9Rank: 9Rank: 9

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

使用道具 举报

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

本版积分规则

QQ|手机版|迅为电子 ( 京ICP备12036083号-2

GMT+8, 2019-3-22 01:59 , Processed in 0.337556 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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