OS版本:openEuler 22.03 LTS
架构:x86_64
描述:调用内核随机数生成函数,并打印。
// random_num_test.c
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/random.h>
static int __init random_num_init(void)
{
int i;
u32 randnum32 = 0;
u64 randnum64 = 0;
for (i = 0; i < 10; i++) {
randnum32 = get_random_u32();
randnum64 = get_random_u64();
printk(KERN_INFO "randnum_u32[%d] = %u, randnum_u64[%d] = %llu\n",
i, randnum32, i, randnum64);
}
return 0;
}
static void __exit random_num_exit(void)
{
return;
}
module_init(random_num_init);
module_exit(random_num_exit);
MODULE_LICENSE("GPL");
Makefile如下:
obj-m+=random_num_test.o
CONFIG_MODULE_SIG=n
all:
make -C /lib/modules/$(shell uname -r)/build/ M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build/ M=$(PWD) clean
输出结果: