1、第一学期课程
嵌入式linux基础:linux使用、linux文件系统、网络服务配置、linux c高级编程、shell编程、makefile编程。
数据结构:单双向链表、队列、栈、树、哈希表、图。
C++编程:类、继承、多态等。
2、第二期课程大纲
标准i/o、文件i/0、文件目录控制、进程管理、进程通讯、网络编程+网络编程实例、QT开发及QT移植、arm体系结构+汇编指令、+arm硬件接口技术。
linux系统移植、:arm环境搭建、uboot移植、内核编译、内核移植、文件系统构建等。
QT移植、 android系统构建
3、第三学期课程大纲
linux块设备驱动、linux flash设备驱动、framebuffer显示设备驱动、linux设备驱动、sd卡设备驱动、usb设备驱动、wince初级。
linux操作系统:gcc、gdb
c程序设计:指针与数组(数组指针)指针与字符串、指针数组、常量指针与指针常量。const
函数:参数的传递、值传递、地址传递、const关键字。
构造类型:结构体、共用体、枚举类型、typedef关键字。
数据结构:研究的是算法,四种基本数据结构:集合、线性结构、树形结构、图状结构。
数据结构的三个方面:数据的逻辑结构——、数据的存储结构——、数据的运算——。
高效学习linux内核:把内核当朋友、先会使用它、依照4个层次对内核进行学习、使用VIM+CSCOPE+CTAGS浏览内核源码。soursinsight使用kernel地图定位目标代码。kconfig和makefile。态度决定一切。
kernel基本信息。内核的体系结构。
kernel是如何工作的:台前——文件系统 幕后:内存管理和进程调度。
drivers/usb/storage/Kconfig或/makefile
不要得过且过。好奇心。。
写代码就像打牌一样,有种全局观。按照你的意思去写代码。
打牌的哲学就是你要有全局观、还有你的记忆能力,方法。
linux c 语言
之一: c语言数据类型
知识点描述:各种数据类型所占内存大小、不同数据类型在内存当中的存储、不同数据类型的数间的转换、常量和变量的概念、存储类型各自的特点、各进制间的转换。
bool类型:vim test。c char 类型:长度为1.short类型为2 int 为4个长度。 long 为4 浮点类型float为4、double 为8.
sizeof函数
数据存储:整形数据的存储使用补码。 浮点性数据:分别存储有效数字部分及指数部分。字符性数据:存储ansll码。
整形常量:c语言的整数可以是十进制数、八进制数和十六进制数。
浮点常量:又称为实数,即一般形式和指数形式。
字符常量:所谓字符常量是由单引号包括起来的单个字符。
字符串常量:由双引号括起来的一个或多个字符来表示的数据。
标识常量:#define 标识常量名称 <> 注意这样的输出 2*3+2*3。定义宏的时候可以用反\
变量:c语言的变量在程序中用变量名表示。
变量说明的一般形式:<存储类型> <数据类型> <变量名>
存储类型可以是关键字auto、register、static、
auto存储类型说明的变量是局部与某个程序范围内的,只能在某个程序范围内使用。
register 称为寄存器型,register int count。
extern类型:外部变量声明。extern a,b; int a,b;定义和声明可以在不同的文件。
全局变量,局部变量会自动屏蔽全局变量。
它的定义和说明也是不同的。定义只能一次 而说明可以是多次, 它的位置是所有函数之外, 而说明只可以是在函数之内也可以是在函数之外。分配内存的时候:定义可以分配内存,可以初始化、 而说明的时候则不可以分配内存或者是不可以初始化。
static 称为静态存储类型:
变量的初始化和赋值:
之二、指针
指针的作用:有效的表示复杂的数据结构、动态分配内存 ,得到较多的函数返回值。
概念:变量与地址
int i,float k
指针变量:其定义:int *p1、*p2
指针变量初始化:
零指针和空类型指针:void *p 使用时进行强制类型转化。
指针与一维数组:
指针与二维数组:*(a+1)、p<
指针与字符串: vim test.c char string=[]
之三、数组
例子:数列、冒泡排序法——第一个数和第二个数进行比较、选择排序
字符数组 有5个字符,但是内存占6个字节,字符串长度为5.
char str【】=“hello”
常用的字符串处理函数:stract、strcopy、strcmp、strlen(不包括\0,本身,而不是在内存当中的长度)
之四、函数
函数的定义声明、调用、参数传递(值传递:和地址:传递)、全局变量、const关键字。
值传递和地址传递的不同: 定义不可以嵌套。
递归调用:每一次调用,在内存堆栈去分配空间,用于存放函数变量,返回值等信息,所以调用多了,可能会引起堆栈溢出。
数组名参数传递为地址传递。
之五、流程控制
else是和最近的if配对的。continue终止本次循环、而break则结束本层循环。
之六、运算符和表达式
%必须为整形
重点位运算符: unsigned char x=0x17 ;y=~x。
异或:相同为0;不同则为1.作用:将指定位置置1或则置0.
c++优先级的比较
阅读(2470) | 评论(0) | 转发(0) |