Linux学习笔记(4)poll机制的应用程序

这部分的学习目标:了解poll机制的实现原理,掌握poll实现按键读取的方式。
目前对poll机制的理解:poll机制的实质就是系统帮你在一定的等待时间之后或者有其他信号量时退出函数调用。
对于poll机制的深入了解可能还要花些时间,但是对于入门,我们先掌握poll机制的使用方法,达到能够构建对应的应用程序的目标。
1.poll机制实现按的代码分析

继续阅读 »

嵌入式Linux学习笔记(2) LED驱动

编译驱动
    上传驱动文件 first_drv.c 到 /opt/weidongshan/linux-2.6.22.6/drivers/char
    编辑该目录下的Makefile文件,添加一行 obj-m  += first_drv.o

继续阅读 »

Linux学习笔记(3)按键与中断

1.查询方式获取按键
    1.框架
        头文件
        file_operations结构体

继续阅读 »

理解KMP匹配算法

两篇比较好的文章:阮一峰的网络日志  和 jBoxer

下面是我阅读 Jake Boxer  的文章时做的笔记。应该可以帮助理解。

KMP的关键是“部分匹配表”。而理解KMP的关键是领会“部分匹配表”中值的含义。下面看看模式字符串”abababca”的部分匹配表。
char: | a | b | a | b | a | b | c | a |
index: | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
value: | 0 | 0 | 1 | 2 | 3 | 4 | 0 | 1 |
对于一个8个字符长度的模式串,部分匹配表长度也为8. 继续阅读 »

嵌入式Linux学习笔记(1) 开发环境搭建

整理最近的嵌入式Linux学习笔记,巩固知识,分享提高。
首先说明我使用的学习环境,因为一开始是按照Mini2440的手册和光盘搭建的系统,后来看韦东山老师的视频,又按视频搭建了环境,所以虚拟机还是用的 Fedora.
硬件:Micro2440
虚拟机:VMware6.5 + Fedora9

继续阅读 »

一个简单算法的不同处理方式

”’ ————-
要输出如下图形:
      * 
    * # * 
  * # * # * 
* # * # * # * 

继续阅读 »

C标准预定义宏__FILE__和f__LINE__等

C/C++标准定义了标准预定义宏,这些宏对所有遵循该标准编译器有效,这些宏在程序调试时是比较有用的。但我偶尔会忘了怎么写,在程序里到处找,所以把他记录到这里。这些预定义宏以双下划线开始、结束。

#include <stdio.h>
int main(int argc, char *argv[])
{
printf(“%s\n”, __FILE__);
printf(“%s\n”, __FUNCTION__);
printf(“%d\n”, __LINE__);
printf(“%s\n”, __DATE__);
printf(“%d\n”, __STDC__);
printf(“%s\n”, __TIME__);
}

 

for循环第二个表达式使用多重条件的写法

for循环有三个表达式,第一个表达式进行测试,只在循环开始的是自学一次;第二个表达式是判断条件,每次执行循环之前进行求值,如果为假则循环结束;第三个表达式在每次循环结束时进行计算。这里三个都是表达式,那么就意味着可以进行运算。

有时候我们希望for循环判断两个条件来结束循环,有时候希望每次循环结束后改变两个变量的值,这样的表达式该怎样写呢?

这里就要说说逗号运算符。在C语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别计算,但整个表达式的值是最后一个表达式的值。

因此for循环的第二个表达式条件判断时应该使用 && 和 || 等关系运算符,而第三个表达式可以使用逗号运算法。例如:

for (i=0,j=0; (i<10)&&(j<5); i+=2,j+=1)
{
……..
}

该for语句的作用是,每次循环开始前判断i<10和j<5是否同时成立,循环结束后修改i和j的值。

第 3 页,共 51 页12345...102030...最旧 »