构造和运行模块
来源:互联网 发布:软件系统可行性分析 编辑:程序博客网 时间:2024/05/22 07:49
#include <linux/init.h>#include <linux/module.h>MODULE_LICENSE("Dual BSD/GPL"); // 如果没有这行,编译器会产生抱怨static int hello_init(void){ printk(KERN_ALERT "Hello, Linux driver!"); return 0;}static void hello_exit(void){ printk(KERN_ALERT "Goodbye, Linux driver!");}module_init(hello_init); // 指定装载模块时初始化函数module_exit(hello_exit); // 指定卸载模块时清楚函数
1. "可在运行时添加到内核中的代码被称为 模块" (LDD3 p13 可装载模块)
2. 在root权限下 使用insmod module_name.ko装载模块; 使用rmmod module_name卸载模块
3. Hello World模块
4. Makefile
ifneq ($(KERNELRELEASE),)obj-m := hello.oelseKERNELDIR ?= /usr/src/linux-headers-2.6.31-14-genericPWD := $(shell pwd)default:$(MAKE) -C $(KERNELDIR) M=$(PWD) modulesendif
5. 如果使用虚拟机,在控制台看不到printk输出的信息,它可能输出到/var/log/kern.log或者其他某个文件里去了
6. 可以使用lsmod命令查看所有当前已加载的模块信息,这些模块可以在/sys/module下找到
- 构造和运行模块
- 构造和运行模块
- 构造和运行模块
- 构造和运行模块
- 02 构造和运行模块
- 0 - 构造和运行模块
- 第二章 构造和运行模块(1)
- 构造和运行模块(笔记)
- 第二章 构造和运行模块
- linux kernel 学习 ----构造和运行模块
- LDD:Ch 2 构造和运行模块
- 第二章:构造和运行模块
- linux 设备驱动程序 (2) —— 构造和运行模块
- Linux设备驱动之《构造和运行模块》
- linux设备驱动学习(2) 构造和运行模块
- LDD3笔记:第二章 构造和运行模块
- Linux device drives chapter 2(构造和运行模块)
- 【Linux 驱动】第二章 构造和运行模块
- C语言:变态的hello world,我服了~
- 自定义弹出框实现02-拖到弹出框代码实现
- Cacti时常见的问题集
- 排序算法---选择排序
- 卡马克承认D3D已胜过OpenGL
- 构造和运行模块
- 在WindowsAzure上把TranceLog和EventLog输出到Storage的方法
- (转)C++应用程序性能优化(书)内存管理
- Python Paste deploy
- 不同格式证书导入keystore方法(2)
- C#中获取程序当前路径 (转)
- 使用Haar特征进行人脸识别
- Shell 与 SQLPLUS 的 交互 ---- 参数传递 返回值
- 利用css添加页面锁,