5.26--学习杂记【转】
2016-06-01 14:50
204 查看
转自:http://blog.csdn.net/luo3532869/article/details/7605414
printk的日志级别有八个分别为KERN_EMERG、 KERN_ALERT、 KERN_CRIT、 KERN_ERR 、 KERN_WARNNING、 KERN_NOTICE、 KERN_INFO 、KERN_DEBUG
printk默认的级别是DEFAULT_MESSAGE_LOGLEVEL,这个宏在kernel/printk.c中,在2.6.10内核中,这个宏的值为KERN_WARNNING,有的版本取的值不一样。当printk的级别小于console_loglevel时,消息才能显示出来,console_loglevel的初始值时DEFAULT_CONSOLE_LOGLEVEL。gcc的5个选项,-c、-o 、-I、-E、-S
-E 只对源文件进行预处理,生成.i后缀名的文件,预处理只是简单的宏替换,将头文件插入源代码中-S 对预处理后的文件进行汇编,生成.s后缀名的文件
-c 只产生目标文件,不连接,将汇编后的.s文件生成二进制文件
-o 指定目标文件
-I 指定头文件的目录
gcc的编译过程包括预处理、编译、汇编、链接。
关于构建模块程序的makefile中的obj-m,obj-y,obj-n,obj-
obj-y:将目标文件加入即将添入linux内核vmlinux的文件列表中obj-m:将目标文件加入作为模块的文件列表中
obj-n,obj-的文件列表被忽略
模块编译的makefile文件中有这么一句:
make –C $(KDIR) M=$(shell pwd) modules
其中-C选项是在执行make前跳转到内核源代码树的目录中,该目录包含了linux内核的顶层makefile,M=$(shell pwd)选项使得在生成modules前再跳转回模块源代码目录
相关文章推荐
- 非常好的Java反射例子
- [算法]判断一个数是不是2的N次方
- 侧滑
- ios开发网络篇—NSURLConnection基本使用
- wps for linux 安装
- python学习 流程控制语句详解
- unity学习笔记(1)-hello unity
- HttpURLConnection请求
- 发布IOS产品被拒后如何再上传新发布包
- 用OpenCV批量读取图片的三种方法
- spring httpInvoker 性能优化
- 第二阶段每日总结10
- ajax提交表单
- 关于(UITableViewcell)contentView高度的问题
- Java实现冒泡排序算法
- Unix POSIX线程
- Myeclipse中project facet问题
- zeppelin-0.5.6+Hadoop-2.5.2+Hive-1.2.1环境构筑及测试
- About Files and Directories(iOS文件与目录)
- 修改qq热键后 安全设置-》自动锁定设置 就能保存住qq的热键了