摘要: 1引用与指针的区别:1)引用必须初始化,指针不必;2)引用初始化后不能被改变,指针可以改变所指的对象3)不存在指向空值的引用,但存在指向空值的指针NULL.指针通过某个指针变量指向一个对象后,对它所指向的变量间接操作。程序中使用指针,程序的可读性差;而引用本身就是目标变量的别名,对引用的操作就是对目标变量的操作2实时系统的基本特性:在特定时间内完成特定的任务,实时性与可靠性。3平衡二叉树:左右子树都是平衡二叉树,且左右子树的深度差值绝对值不大于1。4堆栈溢出原因:1.没有回收垃圾资源 2.层次太深的递归调用5什么函数不能声明为虚函数:constructor构造函数,因为它是在对象产生之前被调用 阅读全文
posted @ 2012-12-09 22:39 梓涵VV 阅读(1171) 评论(0) 推荐(0)
摘要: 总体上必须清楚的:1)程序结构是三种: 顺序结构 、选择结构(分支结构)、循环结构。2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。3)计算机的数据在电脑中保存是以 二进制的形式. 数据存放的位置就是 他的地址. 4)bit是位 是指为0 或者1。 byte 是指字节, 一个字节 = 八个位.概念常考到的:1、编译预处理不是C语言的一部分,不占运行时间,不要加分号。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。2、define PI 3.1415926; 这个写法是错误的,一定不能出现分号。 3、每个C语 阅读全文
posted @ 2012-12-09 22:37 梓涵VV 阅读(1958) 评论(0) 推荐(0)
摘要: Bootloader启动大多数都分为两个阶段。第一阶段主要包含依赖于CPU的体系结构硬件初始化的代码,通常都用汇编语言来实现;第二阶段通常用C语言完成,以便实现更复杂的功能,也使程序有更好的可读性和可移植性。U-Boot的启动代码分布在start.S、low_level_init.S、 board.c和main.c文件中。start.S 是U-Boot整个程序的入口,该文件使用汇编语言编写,不同体系结构的启动代码是不同的;low_level_init.S 是特定开发板的设置代码;board.c 包含开发板底层设备驱动;main.c 是一个与平台无关的代码,U- Boot应用程序的入口在此文件中 阅读全文
posted @ 2012-12-09 22:34 梓涵VV 阅读(213) 评论(0) 推荐(0)
摘要: 一、ARM 微处理器的指令的分类与格式 ARM微处理器的指令集是加载/存储型的,也即指令集仅能处理寄存器中的数据,而且处理结果都要放回寄存器中,而对系统存储器的访问则需要通过专门的加载/存储指令来完成。ARM微处理器的指令集可以分为跳转指令、数据处理指令、程序状态寄存器(PSR)处理指令、加载/存储指令、协处理器指令和异常产生指令六大类。下面是ARM微处理器的基本指令。助记符 指令功能描述ADC 带进位加法指令ADD 加法指令AND 逻辑与指令B 跳转指令BIC 位清零指令BL 带返回的跳转指令BLX 带返回和状态切换的跳转指令BX 带状态切换的跳转指令CDP 协处理器数据... 阅读全文
posted @ 2012-12-09 22:32 梓涵VV 阅读(364) 评论(0) 推荐(0)
摘要: 1 thumb指令集概述为兼容数据总线宽度为16位的应用系统,ARM体系结构除了支持执行效率很高的32位ARM指令集以外,同时支持16位的Thumb指令集。Thumb指令集是ARM指令集的一个子集,是针对代码密度问题而提出的,它具有16位的代码宽度。与等价的32位代码相比较,Thumb指令集在保留32位代码优势的同时,大大的节省了系统的存储空间。Thumb不是一个完整的体系结构,不能指望处理器只执行Thumb指令集而不支持ARM指令集。当处理器在执行ARM程序段时,称ARM处理器处于ARM工作状态,当处理器在执行Thumb程序段时,称ARM处理器处于Thumb工作状态(CPSR的T=0:arm 阅读全文
posted @ 2012-12-09 22:31 梓涵VV 阅读(3184) 评论(0) 推荐(0)
摘要: 一、C语言的关键字共有32个,根据关键字的作用,可分其为数据类型关键字、控制语句关键字、存储类型关键字和其它关键字四类。1 数据类型关键字(12个):(1) char :声明字符型变量或函数(2) double :声明双精度变量或函数(3) enum :声明枚举类型(4) float:声明浮点型变量或函数(5) int: 声明整型变量或函数(6) long :声明长整型变量或函数(7) short :声明短整型变量或函数(8) signed:声明有符号类型变量或函数(9) struct:声明结构体变量或函数(10) union:声明共用体(联合)数据类型(11) unsigned:声明无符号类 阅读全文
posted @ 2012-12-09 22:11 梓涵VV 阅读(258) 评论(0) 推荐(0)
摘要: u-boot源码结构 在顶层目录下有18个子目录,分别存放和管理不同的源程序。这些目录中所要存放的文件有其规则,可以分为3类。 第1类目录与处理器体系结构或者开发板硬件直接相关; 第2类目录是一些通用的函数或者驱动程序; 第3类目录是u-boot的应用程序、工具或者文档。u-boot的源码顶层目录说明目 录 特 性 解 释 说 明board 平台依赖 存放开发板相关的目录文件,每一套板子对应一个目录。如RPXlite(mpc8xx)、 fsc100(arm_cortexa8)、sc520_cdp(x86) 等目录,子目录仅存放与开发板相关的c文件和配置文件, 不包含开发板CPU架构通用的实现文 阅读全文
posted @ 2012-12-09 22:09 梓涵VV 阅读(257) 评论(0) 推荐(0)
摘要: BootLoader指系统启动后,在操作系统内核运行之前运行的一段小程序。通过BootLoader,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。通常,BootLoader是严重地依赖于硬件而实现的,特别是在嵌入式世界。因此,在嵌入式世界里建立一个通用的 BootLoader 几乎是不可能的。尽管如此,我们仍然可以对BootLoader归纳出一些通用的概念来,以指导用户特定的BootLoader设计与实现。BootLoader的操作模式一般分为自启动模式和交互模式。自启动模式:BootLoaderd从目标机上 阅读全文
posted @ 2012-12-09 22:08 梓涵VV 阅读(193) 评论(0) 推荐(0)
摘要: 1、创建一个带头结点的单链表(头指针为head),输出链表中各结点的值;2、查找单链表中的第i个结点,并输出结点元素的值;3、在单链表中的第i个结点前插入一个结点值为e的正整数(从外部输入)4、删除单链表中的第j个结点;5、将单链表中的各结点就地逆序(不重建另外的一个链表);6、输出链表中所有元素7、将单链表中的负数移动到链表尾0、退出程序代码如下: 1 /* 2 *快速学习单链表的及其操作 3 *AUTHOR:CplusHua 4 *DATE:2012-10-28 DATE :2012-12-09 5 * 加入将链表中的元素移动到链表尾的功能 6 *Vertion:0.1.1 7 */ 8 阅读全文
posted @ 2012-12-09 16:46 梓涵VV 阅读(1748) 评论(0) 推荐(0)
摘要: 1.当文件有hole时,cp命令会同时拷贝这些hole为'\0'。这里是一个实现了拷贝时跳过文件hole的程序。ps:我用的buffer是一个字节的,效率很低,但如果用大的buffer就会使得hole被移除,使得原先分开的字符被连上。我没想好如何解决这个问题。如果您知道,请您告诉小弟我,非常感谢!View Code#include <apue.h>#include <my_error.h>#include <fcntl.h>int main(){ char buf[1]; int fd,fd_to; int n; if( (fd=open(& 阅读全文
posted @ 2012-12-09 16:42 梓涵VV 阅读(235) 评论(0) 推荐(0)