分类: LINUX
2014-02-16 16:57:38
4、知识拓展(1)
C程序员都知道,要使用某个外部的函数,应当#include某个头文件,这个头文件包含了那个函数的原型。内核的头文件在/usr/src/linux/include/下,其中/usr/src/linux/include/asm是个符号链接,指向所用内核的具体体系结构目录,比方说我的系统是i386的,那么include/asm就指向include/asm-i386
。
5、知识拓展(2)
printk可以当作printf函数来使用。其中一个不同点是,printk允许你按照相关的记录级或优先级将消息严格分类。通常你需要一个宏来指定记录等级。记录级宏的作用是扩展为一个字符串,这个字符串会在编译期间与相应的消息文本相连接,因此宏和字符串之间不需要逗号连接。如:printk(KERN_CRIT
"I'm trashed; giving up on %p\n", ptr);
在头文件
1)KERN_EMERG:Used for emergency messages, usually those that precede a
crash.
用于突发性事件的消息,通常在系统崩溃之前报告此类消息。
2)KERN_ALERT:A situation
requiring immediate action.
在需要立即操作的情况下使用此消息。
3)KERN_CRIT:Critical conditions,
often related to serious hardware or software .
用于临界条件下,通常遇到严重的硬软件错误时使用此消息。
4)KERN_ERR:Used to report error
conditions; device drivers often use KERN_ERR to report hardware difficulties.
用于报告错误条件,设备驱动经常使用KERN_ERR报告硬件难题。
5)KERN_WARNING:Warnings about
problematic situations that do not, in themselves, create serious problems with
the system.
是关于问题状况的警告,一般这些状况不会引起系统的严重问题。
6)KERN_NOTICE :Situations that
are normal, but still worthy of note. A number of security-related conditions
are reported at this level.
该级别较为普通,但仍然值得注意,许多与安全性相关的情况会在这个级别被报告。
7)KERN_INFO:Informational
messages. Many drivers print information about the hardware they find at startup
time at this level.
信息消息,许多驱动程序在启动时刻用它来输出获得的硬件信息。
8)KERN_DEBUG :Used for debugging
messages
用于调试。