趁着闲余时间我们一起重温下这个项目,通过这个项目来复习一些知识,正是我这次总结的目的。---雪松(●'◡'●)
让我们一起来做 韦东山老师 第三期项目:文件浏览器_数码相框 项目吧
1、使用encoding_manage.c 来解析文件,获得编码
2、使用font_manager.c 来处理编码,获得字体点阵
3、使用display_manager.c 来输出点阵
分享几个不错的总结图解。
移植部分 见下次博客
对于熟悉TCP/UDP 的同学 下面两个图应该很熟悉。
http://blog.csdn.net/monkey_d_meng/article/details/5628663
推荐个不错的博客总结
一、各级子目录的Makefile:
它最简单,形式如下:
obj-y += file.o
obj-y += subdir/
“obj-y += file.o”表示把当前目录下的file.c编进程序里,
“obj-y += subdir/”表示要进入subdir这个子目录下去寻找文件来编进程序里,是哪些文件由subdir目录下的Makefile决定。
二、顶层目录的Makefile:
它除了定义obj-y来指定根目录下要编进程序去的文件、子目录外,主要是定义工具链、编译参数、链接参数──就是文件中用export导出的各变量。
三、顶层目录的Makefile.build:
这是最复杂的部分,它的功能就是把某个目录及它的所有子目录中、需要编进程序去的文件都编译出来,打包为built-in.o
四、怎么使用这套Makefile:
1.把顶层Makefile, Makefile.build放入程序的顶层目录
2.修改顶层Makefile
2.1 修改工具链
2.2 修改编译选项、链接选项
2.3 修改obj-y决定顶层目录下哪些文件、哪些子目录被编进程序
2.4 修改TARGET,这是用来指定编译出来的程序的名字
在各一个子目录下都建一个Makefile,形式为:
obj-y += file1.o
obj-y += file2.o
obj-y += subdir1/
obj-y += subdir2/
执行”make”来编译,执行”make clean”来清除,执行”make distclean”来彻底清除
http://www.cnblogs.com/amanlikethis/p/3675486.html
讲解了内核makefile结构,很详细。
7.1、单链表的操作
单链表的概念:
data + next
数据域 指针域
单链表的构造:
创建头节点 、增加节点、修改节点、查询节点 、删除节点 、释放节点
节点结构:
typedef int datatype;
typedef struct _node_
{
datatype data;
struct _node_ * next;
}linknode;
我这里就只贴一个 增加节点
尾部增加法:
tmp= L;
while(tmp->next)
{
tmp= tmp->next
}
tmp->next = node;
7.2、函数指针:
函数指针在项目中大量运用,我们一起分析下项目中的这个定义。
int (*GetFontBitmap(unsigned int dwCode, PT_FontBitMap ptFontBitMap))
函数指针是存放函数的地址的指针,函数地址是一个函数的入口地址。
当一个函数指针指向了一个函数,就可以通过这个指针来调用该函数,可以将函数作为参数传递给函数指针。
函数指针声明方式:
<数据类型> (*<函数的指针名称>)(<参数说明列表>)
分类:
GBK —> 内地(gb2312)
BIG5 —>港澳台
ASCII —>二进制码
目的:为了统一数值和某个字符的关系。
结果:Unicode编码表—>(用三个字节表示一个unicode码)(过于浪费出现了)
表示方法:
UTF-8——>(前段EF BB BF)(容错性)
UTF-16le(小端)
UTF-16be(大端)