zoukankan      html  css  js  c++  java
  • 5.26--学习杂记【转】

    转自: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前再跳转回模块源代码目录

  • 相关阅读:
    一些恶作剧的vbs程序代码
    The Weather
    UEditor (富文本编译器)
    Redis 存储数组
    QQ第三方登录(完结篇)
    QQ第三方登录(预备节)
    谷歌浏览器添加JSON-Handle插件
    Nginx 之防盗链配置
    noi,ac第五场部分题解 By cellur925
    NOIp2002神经网络 【拓扑排序】By cellur925
  • 原文地址:https://www.cnblogs.com/sky-heaven/p/5549594.html
Copyright © 2011-2022 走看看