上一页 1 2 3 4 5 6 7 8 ··· 21 下一页
  2017年10月25日
摘要: 多核处理器下,会存在多个进程处于内核态的情况,而在内核态下,进程是可以访问所有内核数据的,因此要对共享数据进行保护,即互斥处理。 mutex_lock(struct mutex *lock)和mutex_unlock(struct mutex *lock)是加锁和解锁。 (1)mutex和spin 阅读全文
posted @ 2017-10-25 15:08 白宫飘红旗 阅读(3703) 评论(0) 推荐(0) 编辑
  2017年10月24日
摘要: 从kernel.org下载下来的code几乎时这个结尾。 xz是绝大数linux默认就带的一个压缩工具 解压tar.xz文件的方法: 先 xz -d xxx.tar.xz 将 xxx.tar.xz解压成 xxx.tar 然后,再用 tar xvf xxx.tar来解包 补充:目前可以直接使用 tar 阅读全文
posted @ 2017-10-24 23:57 白宫飘红旗 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 像你写C程序需要包含C库的头文件那样,Linux内核编程也需要包含Kernel头文件,大多的Linux驱动程序需要包含下面三个头文件:#include <linux/init.h>#include <linux/module.h>#include <linux/kernel.h> 其中,init.h 阅读全文
posted @ 2017-10-24 20:22 白宫飘红旗 阅读(923) 评论(0) 推荐(0) 编辑
摘要: EXPORT_SYMBOL只出现在2.6内核中,在2.4内核默认的非static 函数和变量都会自动导入到kernel 空间的, 都不用EXPORT_SYMBOL() 做标记的。2.6就必须用EXPORT_SYMBOL() 来导出来(因为2.6默认不到处所有的符号)。 1、EXPORT_SYMBOL 阅读全文
posted @ 2017-10-24 19:18 白宫飘红旗 阅读(10014) 评论(0) 推荐(1) 编辑
摘要: 在#include<stdio.h> 函数说明: sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf()。转换后的结果存于对应的参数内。 返回值 成功则返回参数数目,失败则返回-1。 注意sscanf_s,当读入的类型是整数或其它长度可以 阅读全文
posted @ 2017-10-24 15:15 白宫飘红旗 阅读(580) 评论(0) 推荐(0) 编辑
  2017年10月23日
摘要: 函数原型: 参数1:字符串起始地址参数2:返回字符串有效数字的结束地址,这也是为什么要用二级指针的原因。参数3:转换基数。当base=0,自动判断字符串的类型,并按10进制输出,例如"0xa",就会把字符串当做16进制处理,输出的为10。更多的下面详细阐述。 函数分析:1 simple_strtou 阅读全文
posted @ 2017-10-23 19:14 白宫飘红旗 阅读(5731) 评论(0) 推荐(0) 编辑
摘要: MBR:Master Boot Record GPT:Guid Partition Table (全局唯一标识符分区表) GPT is the new standard and is gradually replacing MBR MBR The MBR resides at the very be 阅读全文
posted @ 2017-10-23 09:42 白宫飘红旗 阅读(961) 评论(0) 推荐(0) 编辑
  2017年10月22日
摘要: 基于C函数库的文件编程是独立于具体的操作系统平台的,不管是在Windows、Linux还是其他的操作系统中,都是使用这些函数。使用库函数进行程序设计可提高程序的可移植性 。 在系统调用方式实现的文件访问中,使用文件描述符(一个整数)来指向一个文件。在库函数方式的文件访问中,使用FILE类型来表示一个 阅读全文
posted @ 2017-10-22 16:33 白宫飘红旗 阅读(589) 评论(0) 推荐(0) 编辑
摘要: linux中文件编程可以使用两种方法: 1)、linux系统调用 2)、C语言库函数 前者依赖于linux系统,后者与操作系统是独立的。 在 linux系统中,所有打开的文件也对应一个数字,这个数字由系统来分配,我们称之为:文件描述符 1、创建文件: 常见创建模式: 无任何权限:0 所属头文件: 返 阅读全文
posted @ 2017-10-22 15:19 白宫飘红旗 阅读(1205) 评论(0) 推荐(0) 编辑
  2017年10月21日
摘要: 当工程量少时,可以采用gcc文件单个编译。 像linux kernel代码,1万多个时采用make管理。 linux程序员必须学会使用GNU make来构建和管理自己的软件工程。 make在执行时,需要一个命名为Makefile的文件。makefile文件描述了整个工程的编译、链接等规则。 Make 阅读全文
posted @ 2017-10-21 15:43 白宫飘红旗 阅读(225) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 21 下一页