摘要:
1.基于C函数库的程序是独立于操作系统的,可移植性更好。基于系统调用的编程依赖于内核,移植性不好。2.流:在程序和源文件之间会建立一个数据通道访问文件里的数据,于是通道里的数据就成了抽象动态的流。文件指针:对应于系统调用的文件描述符(整数)。是FILE类型的指针,通常是定义一个FILE* fp的变量描述一个指向文件的指针,FILE类型里包含了管理流信息的数据信息。3.函数学习: 3.1 打开文件 ... 阅读全文
摘要:
一.核心理论:文件描述符(1)成年公民有身份证编号(2)打开的文件对应文件描述符。(3)实质就是一串数字。(4)作用就是能够区分所有打开的文件。二.函数学习man命令默认是按照Linux系统内置手册顺序查找你要搜索的关键词,一旦找到就不继续查找了。相应的顺序是1命令,2系统调用,3库函数。2.1 打开文件2.1.1 函数名Open2.1.2 函数原形(1)int open(const char* ... 阅读全文
摘要:
1.Linux下的应用程序所需要的外部函数可以由函数可和系统调用提供。2.函数库是处于用户态的,由工作人员编写的函数的集合,而系统调用是由Linux内核实现的。3.函数库分为静态和动态,按照链接方式划分的。动态函数库比静态节约空间。使用静态函数库以后应用程序最终会包含自身和函数库,在内存中运行的时候就会有多个函数可的拷贝,导致在空间上的浪费。而动态函数库则在内存中只有一个拷贝,供多个都会使用到的程... 阅读全文
摘要:
1.文件头:说明该文件的文件名,创建者,创建时间,主要功能。2.函数头:函数名,输入参数,输出参数,返回值,函数功能3.注释统一用/******************/方式而不用//4.花括号要对齐。5.代码缩进,采用四个空格缩进。 阅读全文
摘要:
1.应用程序都是由代码段,数据段,BSS段以及堆空间,栈空间组成。2.布局方式:(1)代码段在最低地址处,一般都是从0x8048000开始,这是虚拟地址,每一个应用程序都是这样的(2)数据段紧贴着代码段(3)在往上是BSS段其实也是一种数据段(4)在往上是堆空间,堆空间是往上增长的(5)定不一般是栈空间,栈空间是向下生长2.查看各个段的地址(1)在应用程序里面,末尾处加上while循环,防止程序结... 阅读全文
摘要:
1.定义在程序运行过程中,突然出现错误。然后Linux会把程序出错时的内存内容存放到一个Core文件中,这个过程就叫Core Dump。就叫核心转存。2.主要用途:段错误,产生段错误的地方主要有(1)数组访问越界(2)访问空指针(3)栈溢出(4)修改制度内存3.使能CoreDump打开 ulimit -c unlimited关闭ulimit -c 04.在出错的程序目录下面产生core文件,然后利... 阅读全文