ubuntu动态加载模块简单模板
2013-07-12 14:05
411 查看
1:简单代码
2:查看printk输出信息
3:带参数类型的模块简单代码
安装带参数的模块:
安装的时候没有加参数,采用程序中的默认值输出:
安装的时候加参数:
输出:
4:我自己的Makefile
#include<linux/init.h> #include<linux/module.h> MODULE_LICENSE("GPL"); MODULE_AUTHOR("jiuyueguang"); MODULE_DESCRIPTION("SIMPLE MODULE DRIVER"); static int hello_init(void){ printk(KERN_INFO"hello word\n"); return 0; } static void hello_exit(void){ printk(KERN_INFO"hello word exit\n"); } module_init(hello_init); module_exit(hello_exit);
2:查看printk输出信息
dmesg | tail
3:带参数类型的模块简单代码
#include<linux/init.h> #include<linux/module.h> MODULE_LICENSE("GPL"); MODULE_AUTHOR("jiuyueguang"); MODULE_DESCRIPTION("SIMPLE MODULE DRIVER"); static char *name="no name"; static int age=0; static int hello_init(void){ printk(KERN_INFO"hello word name=%s and age=%d\n",name ,age); return 0; } static void hello_exit(void){ printk(KERN_INFO"hello word exit name=%s and age=%d \n",name ,age); } module_init(hello_init); module_exit(hello_exit); module_param(name,charp,S_IRUGO); module_param(age,int,S_IRUGO);
安装带参数的模块:
sudo insmod hello_param.ko
安装的时候没有加参数,采用程序中的默认值输出:
hello word name=no name and age=0
安装的时候加参数:
sudo insmod hello_param.ko name='jiuyueguang' age=25
输出:
hello word name=jiuyueguang and age=25
4:我自己的Makefile
ifeq ($(KERNELRELEASE),) KERNELDIR ?= /lib/modules/$(shell uname -r)/build PWD := $(shell pwd) modules: $(MAKE) -C $(KERNELDIR) M=$(PWD) modules modules_install: $(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install clean: rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions Module* module* a.out .PHONY: modules modules_install clean else obj-m := hello_param.o //每次修改这里就够了 endif
相关文章推荐
- ubuntu动态加载模块简单模板
- 一只简单的网络爬虫(基于linux C/C++)————支持动态模块加载
- seajs学习日志 简单尝试模板+数据合并、模块异步加载、非标准CMD模式定义define模块
- Ubuntu10.10下动态加载模块驱动的方法
- 在Ubuntu上为Android系统编写Linux内核驱动程序 + 编写加载动态模块ko
- Drools6.4动态加载规则之(一)模板的简单应用
- Python3的动态加载模块简单实例
- 动态加载类简单举例
- 在ASP.NET中动态加载内容(用户控件和模板)
- Linux apache 单独编译 动态加载模块
- Ubuntu下安装NFS服务及模块加载
- Extjs4.1.x使用Application动态按需加载MVC各模块
- python技巧31[Python 动态加载模块的3种方法]
- Linux动态加载内核模块
- mini2440之led模块的动态加载及相应led应用程序的编写
- 简单的动态加载用户控件的方法
- Flex动态加载模块
- Linux 2.6内核的编译步骤及模块的动态加载
- 通过ajax动态加载echarts——简单关系网络实例
- 【python】 动态加载模块和类