第十章 读书笔记

第十章  嵌入式 Linux 的调试技术

printk 函数的原型如下:asmlinkage int printk(const char * fmt, ... )

printk文件是一个简单的有 4 个数字组成的文本文件,6,4,1,7

6: 将消息输出到控制台的级别。只有商于该级别的输出信息才会输出到控制台。

4:默认的消息日志级别。如果不在printk 函数中指定日志级别,就会使用该值作为默认的级别。

1:控制台日志级别可被设置的最小值〈最高优先级别〉。

7: 控制台日志级别的默认值。

虽然使用 printk 函数可以很方便地将消息写入日志文件或控制台。但大量使用 printk 函数频繁 操作日志文件或控制台设备文件 Udev/console)会严重影响 Linux 驱动的性能(因为写磁盘的速度 远没有读写内存的速度快),因此,这就要求 Linux 驱动只在开发阶段使用 printk 函数输出消息, 在正式友布 Linux 驱动时将可能影响性能的 printk 函数去掉。 当然,最容易想到的方法就是挨个删 除 printk 函数,或注释 printk 函数。但这样做很麻烦,而且以后想加上 printk 函数也是同样麻烦。 要想控制 printk 函数的输出,而且实现起来很方便, 最好的方法无疑是利用 C 语言中的编译指令 (#i队 #else、#endif等)。

http://www.cnblogs.com/yangsasa/

时间: 2024-07-29 03:02:07

第十章 读书笔记的相关文章

构建之法的八、九、十章读书笔记

构建之法读书笔记 第八章  需求分析 这一章主要是讲需求的分析,对于一个程序项目来说,我觉得,需求是这个项目的向导,他可以决定程序项目会发展成什么样子.书里面需求这里大致分为两个:软件需求和用户需求. 软件需求:我们不仅仅要考虑到项目功能的需求,要实现的功能,还要考虑到开发过程以及非功能方面的需求,还有综合需求. 用户需求:是针对在用户这个角度,用户最需要的东西.我觉得用户需求在需求分析中较为重要,毕竟每一个要做的程序的根本目的是满足用户的要求.      所以书里面野介绍了九种获取用户需求的调

Android深度探索——第十章读书笔记及心得

嵌入式linux的调用技术 ——第10章读书笔记及心得 通过本章的学习了解了printk函数.该函数与printf函数类似,用于打印内核调试信息.只是前者运行在内核空间,后者运行在用户空间.即linux驱动这样的linux内核程序只能使用printk函数输出调试信息.Printk函数的原型:asmLinkKage int printk(const char *fmt,…).Printk文件是一个简单的有4个数字组成的文本文件,该文件的默认值问6 4 1 7.6代表将消息输出到控制台的级别,只有高

第十章读书笔记

在 Linux 文件系统中, /proc 经常被用来作为内核空间与用户空间进行数据交=EE的工具./proc 文件系统的行为方式与设备文件系统 C/dev)类似./proc 是虚拟文件系统,也就是说了 /proc 并不 是真正的文件系统,而是内存映射. 所有读写/proc_l¥J操作都是对内存的读写F所以读写/proc 文件 系统的速度要远比读写/dev 文件系统的速度快.因此,/proc 文件系统也可作为 Linux 驱动与用户 空间程序交互的工具. 有很多系统信息就是通过/proc 文件系统

Android深度探索--HAL与驱动开发----第十章读书笔记

printk函数的用法于-printf 函数类似,只不过printk函数运行在内核空间, printf函数运行在用户空间.也就是说,像Linux 驱动这样的Linux内核程序只能使用printk 函数输出调试信息 虽然使用printk 函数可以很方便地将消息写入日志文件或控制台.但大量使用printk 函数频繁操作日志文件或控制台设备文件Udev/console)会严重影响Linux 驱动的性能(因为写磁盘的速度远没有读写内存的速度快〉,因此,这就要求Linux 驱动只在开发阶段使用printk

Android深度探索(卷1)HAL与驱动开发第十章读书笔记

对于复杂的Linux驱动以及HAL等程序库,需要使用各种方法对其进行测试.如设置断点,逐步跟踪代码,输出调试信息等.本章主要讲述了如何利用开发板.Android模拟器以及一些函数.工具调试嵌入式Linux内核模块.可执行程序和共享库. 1.打印内核调试信息:printk 该函数的用法和printf函数类似,只不过printk函数运行在内核空间,printf函数运行在用户空间.函数原型: asmlinkage printk(const char *fmt, ...) 第一个参数表示格式字符串.后面

《Java并发编程实战》第十章 避免活跃性危险 读书笔记

一.死锁 所谓死锁: 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去. 百科百科 当两个以上的运算单元,双方都在等待对方停止运行,以取得系统资源,但是没有一方提前退出时,这种状况,就称为死锁.维基百科 1. 顺序死锁 最少有两个锁,一个线程获取到A锁需要获取B锁才能进行操作,而另外一个线程获取到了B锁,需要获取A锁才能执行操作,这种情况下容易出现顺序死锁. public class LeftRightDeadlock { priva

《C#高级编程》读书笔记

<C#高级编程>读书笔记 C#类型的取值范围 名称 CTS类型 说明 范围 sbyte System.SByte 8位有符号的整数 -128~127(−27−27~27−127−1) short System.Int16 16位有符号的整数 -32 768~32 767(−215−215~215−1215−1) int System.Int32 32位有符号的整数 -2 147 483 648~2 147 483 647(−231−231~231−1231−1) long System.Int

《失控》读书笔记

某天早上看了下伯乐在线,然后发现一篇关于程序员读书的文章,看完之后,最后发现有一个QQ群,然后就加入了,群名称为“书山有志”.群里面的成员还比较活跃,过了几天进行二期读书选书投票,然后看到了有<失控>这本书作为选择,恰巧之前听说过一点关于这边书的传闻,更巧的是同事桌子上有一本纸质的<失控>放在那里暂时无人阅读,所以就投了一票失控,随后这本书入选开读,群主带头,几乎天天坚持看一章,然后一个月之后就读完了.而我没能如此,知道今天,用了差不多三个月吧,趁着这个周末在宿舍休养生息,完成了这

.net performance optimize your C# app 读书笔记

目录 序 作者简介 推荐人简介 感谢 本书简介 第一章  性能指标 第二章  性能测量 第三章  内部类型 第四章  垃圾回收机制 第五章  集合和泛型 第六章  并发和并行性 第七章  网络.I / O和序列化机制 第八章  不安全的代码以及互操作性 第九章  算法的优化 第十章  性能模式 第十一章 web  应用程序性能 .net performance optimize your C# app 读书笔记,布布扣,bubuko.com