我是靠谱客的博主 平淡爆米花,最近开发中收集的这篇文章主要介绍Linux用户态传参,Linux之module_param()--给模块传递参数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1. 用户态下编程: 通过main()来传递命令行参数

编写一个内核模块: 通过module_param()来传递命令行参数

2. module_param宏是Linux 2.6内核中新增的,该宏被定义在include/linux/moduleparam.h文件中

3. module_param使用了3个参数:变量名,它的类型,以及一个权限掩码用来做一个辅助的sysfs入口

module_param(name, type, perm);

name既是用户看到的参数名,又是模块内接受参数的变量;

type表示参数的数据类型,是下列之一:byte, short, ushort, int, uint, long, ulong, charp, bool, invbool;

perm指定了在sysfs中相应文件的访问权限。访问权限与linux文件爱你访问权限相同的方式管理,如0644,或使用stat.h中的宏如S_IRUGO表示。

4. 在使用宏之前,必须声明变量,典型地用法如下:

static unsigned int int_var = 0;

module_param(int_var, uint, S_IRUGO);

5. 声明一个数组参数, 使用 module_param_array(name,type,num,perm);

name 是数组名(也是参数名),

type 是数组元素的类型,

num 是一个整型变量,

perm 是通常的权限值.

6. 实例:sudo insmdo module_param.ko who=tiger times=4

refer: http://www.linuxidc.com/Linux/2011-02/32131.htm

最后

以上就是平淡爆米花为你收集整理的Linux用户态传参,Linux之module_param()--给模块传递参数的全部内容,希望文章能够帮你解决Linux用户态传参,Linux之module_param()--给模块传递参数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(69)

评论列表共有 0 条评论

立即
投稿
返回
顶部