摘要: 1.基于C函数库的程序是独立于操作系统的,可移植性更好。基于系统调用的编程依赖于内核,移植性不好。2.流:在程序和源文件之间会建立一个数据通道访问文件里的数据,于是通道里的数据就成了抽象动态的流。文件指针:对应于系统调用的文件描述符(整数)。是FILE类型的指针,通常是定义一个FILE* fp的变量描述一个指向文件的指针,FILE类型里包含了管理流信息的数据信息。3.函数学习: 3.1 打开文件 ... 阅读全文
posted @ 2015-04-16 19:06 生活需要深度 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 一.核心理论:文件描述符(1)成年公民有身份证编号(2)打开的文件对应文件描述符。(3)实质就是一串数字。(4)作用就是能够区分所有打开的文件。二.函数学习man命令默认是按照Linux系统内置手册顺序查找你要搜索的关键词,一旦找到就不继续查找了。相应的顺序是1命令,2系统调用,3库函数。2.1 打开文件2.1.1 函数名Open2.1.2 函数原形(1)int open(const char* ... 阅读全文
posted @ 2015-04-16 19:05 生活需要深度 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 1.Linux下的应用程序所需要的外部函数可以由函数可和系统调用提供。2.函数库是处于用户态的,由工作人员编写的函数的集合,而系统调用是由Linux内核实现的。3.函数库分为静态和动态,按照链接方式划分的。动态函数库比静态节约空间。使用静态函数库以后应用程序最终会包含自身和函数库,在内存中运行的时候就会有多个函数可的拷贝,导致在空间上的浪费。而动态函数库则在内存中只有一个拷贝,供多个都会使用到的程... 阅读全文
posted @ 2015-04-16 19:04 生活需要深度 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 1.文件头:说明该文件的文件名,创建者,创建时间,主要功能。2.函数头:函数名,输入参数,输出参数,返回值,函数功能3.注释统一用/******************/方式而不用//4.花括号要对齐。5.代码缩进,采用四个空格缩进。 阅读全文
posted @ 2015-04-16 19:03 生活需要深度 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 1.应用程序都是由代码段,数据段,BSS段以及堆空间,栈空间组成。2.布局方式:(1)代码段在最低地址处,一般都是从0x8048000开始,这是虚拟地址,每一个应用程序都是这样的(2)数据段紧贴着代码段(3)在往上是BSS段其实也是一种数据段(4)在往上是堆空间,堆空间是往上增长的(5)定不一般是栈空间,栈空间是向下生长2.查看各个段的地址(1)在应用程序里面,末尾处加上while循环,防止程序结... 阅读全文
posted @ 2015-04-16 19:02 生活需要深度 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 1.定义在程序运行过程中,突然出现错误。然后Linux会把程序出错时的内存内容存放到一个Core文件中,这个过程就叫Core Dump。就叫核心转存。2.主要用途:段错误,产生段错误的地方主要有(1)数组访问越界(2)访问空指针(3)栈溢出(4)修改制度内存3.使能CoreDump打开 ulimit -c unlimited关闭ulimit -c 04.在出错的程序目录下面产生core文件,然后利... 阅读全文
posted @ 2015-04-16 19:01 生活需要深度 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2015-02-21 16:09 生活需要深度 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 1. 要不要学习汇编 可以懂一点,工作中基本不用,一旦用就是出了大问题了 ldr : load读内存 ldr r0, [r1] : r1里存放的是地址值,去这个地址读取4字节的内容,存入r0 str : store写内存 str r0, [r1] : r1里存放的是地址值,把r0里的4字节数据存入这个地址 所有的汇编、程序也好,终极目标就是:读写某个地址 2. 程序为何要... 阅读全文
posted @ 2015-02-21 10:41 生活需要深度 阅读(420) 评论(0) 推荐(0) 编辑
摘要: Bootloader 作用:Stage1(初始化硬件):1. 硬件设备初始化。为stage2的执行及随后内核的执行准备好基本的硬件环境2. 为加载stage2 准备ram空间。为了获得更好的执行速度,通常吧stage2加载到ram中执行3. 复制stage2的代码到ram中4. 设置好堆栈5. 跳转... 阅读全文
posted @ 2015-02-20 21:15 生活需要深度 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 解压使用制作好的Ubuntu 自己下载安装VMware 按开发板使用手册解压Ubuntu 设置VMware的网络环境 VMware打开的Linux机器使用桥接(选择合适的网卡) 三者(Windows,VMware里的Linux,开发板)可以互联 pc有限网卡互联 ... 阅读全文
posted @ 2015-02-07 11:51 生活需要深度 阅读(263) 评论(0) 推荐(0) 编辑