02 2018 档案
摘要:在上章-学习了数码相框的框架分析(1)了 本章主要内容如下: 1)熟悉ASCII/GB2312/Unicode编码 2)写应用程序,使LCD显示汉字和字符 大家都知道,数据传输的是二进制,而字符和汉字却有各种各样的,所以便通过二进制将字符和汉字编成一个字符集(charset). 1.而字符集(cha
阅读全文
摘要:项目流程 弄清需求(需要完成什么) 设计框架(怎么实现需求) 编写代码(怎么通过代码设计) 测试 弄清需求 (1)上电,LCD显示一副图片 (2)根据配置文件,决定停留当前界面还是自动显示下一张 (3)点击一下,出现一个对话框(手动显示,自动显示) (4)上放大,下缩小,左右滑动切换图片 (5)左右
阅读全文
摘要:面向对象的意义在于: -将日常生活中习惯的思维方式引入程序设计中 -将需求中的慨念直观的映射到解决方案中 -以模块为中心构建可复用的软件系统 -提高软件产品的可维护性和可扩展性 其中类和对象是面向对象中的两个基本概念 -类:指的一类事物,里面包括不同对象实体,是一个抽象的概念,比如:程序语言 -对象
阅读全文
摘要:1首先来回顾C的强制转换 大家都知道,在编译C语言中的强制转换时,编译器不会检查转换是否成功,都会编译正确. 比如: #include "stdio.h" struct Position { int x; int y; }; int main() { int i; struct Position *
阅读全文
摘要:本章主要内容: 1)函数重载 2)C++调用C代码 3)new/delete关键字实现动态内存分配 4)namespace命名空间 大家都知道,在生活中,动词和不同的名词搭配一起,意义都会大有不同,比如”玩”: 玩游戏 玩卡牌 玩足球 所以在C++中,便出现了函数重载(JAVA,c#等语言都有函数重
阅读全文
摘要:1.首先来讲讲函数 其实每个函数名,都是函数的入口地址,如下图所示: 其中0x4013B0就是上图的func()函数的入口地址,从上图可以看到,func和&func的地址都一样,所以&对于函数而言,可以不需要 2.接下来便使用函数指针来指向上面func()函数 实例1如下: 输出结果: 2)当使用t
阅读全文
摘要:本章主要内容: 1)内联函数(替代宏代码段) 2)默认参数 3)占位参数 1.C++的内联函数分析 1.1讲解内联函数之前,首先回忆下之前讲的define宏定义: 之前讲过宏定义会经过预处理器进行文本替换,缺点就在于没有类型检查,没有任何编译过程,编译器根本不知道类型是什么. 所以,C++中,当需要
阅读全文
摘要:本章主要内容: 1)bool类型 2)三目运算符 3)引用 1.布尔型bool 在C++中,bool类型只有true(非0)和flase(0)两个值,且bool类型只占用了一个字节. 例如: 输出结果: 2.C++三目运算符 C++对三目运算符进行了升级,升级后的三目运算符可以放在左值使用,例如:
阅读全文
摘要:从本章起开始从0学习C++,本章主要内容: 1)C和C++的基本区别 2)C和C++的const区别 1.C++和C区别 1.1 C++更强调语言的实用性,所有变量都可以在需要时再定义 比如: 1.2 C++不允许定义多个同名全局变量,而C却可以重复定义 1.3 C++的register只是个兼容作
阅读全文
摘要:1.常用函数改动 1)device_create() 作用: 创建设备节点 头文件: #include <linux/device.h> 替代了2.6内核里的class_device_create()函数 2)device_destroy() 作用:卸载设备节点 头文件:#include <linu
阅读全文
摘要:在上章-使内核支持烧写yaffs2,裁剪内核并制作补丁了 本章,便开始移植以前2.6内核的驱动到3.4新内核 1.介绍 首先内核更新,有可能会重新定义新的宏,去除以前的宏,以及更改函数名等 所以移植驱动的过程如下: 1)编译 2)解决错误 ->2.1)头文件不对:去掉或改名 ->2.2)宏不对:改名
阅读全文