驱动编程中的数据结构和编程方法
/**************************************************************************
*
* 本文为作者原创,转载请注明出处,未经本人允许请勿用于商业用途!
*
* Author:于海平
*
* 邮箱:linux_fish@126.com
*
* 本文链接:http://blog.youkuaiyun.com/drivelinux/article/details/8482186
*
***************************************************************************/
一、驱动编程中的数据结构
熟悉Linux内核和专门从事Linux驱动编程的人应该对Linux内核中用到的大量的数据结构有所了解,Linux内核编程中用到了大量的数据结构,如结构体、链表等。读Linux内核源码能让你真正的感受到C语言的强大和C语言编程的魅力。这会让你从中收益,并学会一些编程方法。
1.位域(位段)
驱动编程中经常用到位域。关于位域的概念,在谭浩强编著的C语言教程中有详细的论述。位域定义与结构定义相仿,其形式为:
struct 位域结构名
{ 位域列表 };
其中位域列表的形式为:
类型说明符 位域名:位域长度
位域的定义可以参考如下示例:
struct bs
{
char a:2;
char b:2;
char c:4;
}data;
则上述位域所用的内存空间,即sizeof(bs) == 1。位域的其它用法则可以参考谭浩强的C语言教程。
二、驱动编程中的编程技巧和方法
先开个头,以后慢慢更新!