摘要: ftell:当前位置rewind:不管文件指向哪,它都会还原指向首部 缓存区的作用:大多数情况下是好事,合并系统调用行缓冲:换行、满了、强制(标准输出)刷新全缓冲:满了、强制(默认,只要不是终端)刷新无缓冲:如stderr,需要立即输出内容 setvbuf:修改缓冲区 阅读全文
posted @ 2017-05-02 08:59 TO_ZG 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 1.linux中命令diff比较两个文件中内容是否相同,终端上没有显示就是相同。例如:diff src dst 2.fgets(*,size,stream)有两种正常结束: 一.读到size-1字节 二.读到‘\n’ 阅读全文
posted @ 2017-05-01 14:27 TO_ZG 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 1.继承的目的:实现代码的重用、扩充性; 派生的目的:当新的问题出现,原有程序无法解决时,需要对原有程序进行改造。 2.继承的方式: 1.公有继承; 2.私有继承; 3.保护继承; 3.基类的构造函数不被继承,派生类需要声明自己的构造函数(只需对新增成员初始化 )。 阅读全文
posted @ 2017-04-30 21:52 TO_ZG 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 1.类的组合:类中的成员数据是另一个类的对象。类组合的构造函数:原则:不仅要负责对本类中的基本类型成员数据赋初值,也要对对象成员初始化。 2.构造函数的调用顺序: 1.调用内嵌对象的构造函数(按内嵌时的声明顺序,先声明者先构造); 2.调用本类的构造函数 3.析构函数的调用顺序: 1.调用本类的析构 阅读全文
posted @ 2017-04-30 21:23 TO_ZG 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 1.拷贝构造函数是一种特殊的构造函数,其形参为本类的对象引用。拷贝构造函数是用一个对象去构造另一个对象,或者说,用另一个对象值初始化一个新构造的对象。 2.编写拷贝构造函数,在拷贝资源时,要将资源复制一份,这样两个对象就会指向不同的资源。 3.使用拷贝构造函数的情况: 1.当用类的一个对象去初始化该 阅读全文
posted @ 2017-04-30 21:16 TO_ZG 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 1.C++程序的内存格局分四个区: 1.全局数据区/静态区/字符串常量:全局变量、进态数据、常量 2.代码区:所有类成员函数代码、非成员函数代码 3.栈区/堆栈:为运行函数而分配的局部变量、函数参数、返回数据、返回地址 4.堆区:malloc/free或new delete,从堆中分配和释放内存块 阅读全文
posted @ 2017-04-30 21:13 TO_ZG 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 1.面向对象程序设计(oop):是一种计算机编程架构。oop的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成。优点:重用性,灵活性和扩展性。 2.类构成了实现C++面向对象程序设计的基础。 结构化程序设计:程序=算法+数据结构 面向对象程序设计:对象=算法+数据结构 程序=对 阅读全文
posted @ 2017-04-30 21:07 TO_ZG 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 哈希桶:哈希桶就是盛放不同key链表的容器(即是哈希表),在这里我们可以把每个 key的位置看作是一个孔,孔里放了一个链表。或是使用一个顺序表来存放具 有相同哈希值的key的链表的头节点,利用这个头节点可以找到其它key值。 阅读全文
posted @ 2017-03-10 21:24 TO_ZG 阅读(253) 评论(0) 推荐(0) 编辑
摘要: HAL(硬件抽象层)是建立在Linux驱动之上的一套程序库。这套程序库并不属于Linux内核,而是属于Linux内核层之上的应用层。在传统的Linux系统中Linux驱动一般有两种类型的代码:访问硬件寄存器的代码和业务逻辑代码。 编写一款支持HAL的Linux驱动程序的步骤: 第1步:编写Linux 阅读全文
posted @ 2016-06-23 09:42 TO_ZG 阅读(106) 评论(0) 推荐(0) 编辑
摘要: printk函数运行在内核空间,printf函数运行在用户空间。也就是说像Linux驱动这样的Linux内核程序只能使用printk函数输出调试信息。printk函数在控制台(也称终端)显示消息是通过/dev/console设备文件实现的。该设备文件只在字符界面的控制台下才起作用,所以printk函 阅读全文
posted @ 2016-06-23 09:42 TO_ZG 阅读(83) 评论(0) 推荐(0) 编辑