摘要:
一、由源码到可执行程序的过程 1. 预处理: 源码经过预处理器的预处理变成预处理过的.i中间文件 1 gcc -E test.c -o test.i 2. 编译: 中间文件经过编译器编译形成.s的汇编文件 1 gcc -S test.i -o test.s 3. 汇编: 汇编文件经过汇编器生成目标文 阅读全文
摘要:
动态库与静态库 静态(函数)库 一般扩展名为(.a或.lib),这类的函数库通常扩展名为libxxx.a或xxx.lib 。这类库在编译的时候会直接整合到目标程序中,所以利用静态函数库编译成的文件会比较大,这类函数库最大的优点就是编译成功的可执行文件可以独立运行,而不再需要向外部要求读取函数库的内容 阅读全文
摘要:
C/C++学习总结积累(超详细)——C提高:预处理(include、define、可变宏参)、编译、汇编、链接 gcc/g++ 实战之编译的四个过程 预处理 1)预处理的基本概念 C语言对源程序处理的四个步骤:预处理、编译、汇编、链接。 预处理是在程序源代码被编译之前,由预处理器(Preproces 阅读全文
摘要:
链表是一种常用的数据结构,它通过指针将一些列数据结点,连接成一个数据链。相对于数组,链表具有更好的动态性(非顺序存储)。 数据域用来存储数据,指针域用于建立与下一个结点的联系。 建立链表时无需预先知道数据总量的,可以随机的分配空间,可以高效的在链表中的任意位置实时插入或删除数据。 链表的开销,主要是 阅读全文
摘要:
文件操作步骤 要把大象装进冰箱总共分几步? 一、对文件的操作步骤 1)引入头文件(stdio.h ) 2)定义文件指针 3)打开文件 4)文件读写 5)关闭文件 二、有关文件的概念 按文件的逻辑结构: 记录文件:由具有一定结构的记录组成(定长和不定长) 流式文件:由一个个字符(字节)数据顺序组成 按 阅读全文
摘要:
C语言程序处理过程 预处理:宏定义展开、头文件展开、条件编译,这里并不会检查语法 编译:检查语法,将预处理后文件编译生成汇编文件 汇编:将汇编文件生成目标文件(二进制文件) 链接:将目标文件链接为可执行程序 程序只有在运行才加载到内存(由系统完成),但是某个变量具体分配多大,是在编译阶段就已经确定了 阅读全文
摘要:
参考:https://www.cnblogs.com/edisonchou/p/4669098.html 一个由C/C++编译的程序占用的内存分为以下几个部分: 1、栈区(stack):又编译器自动分配释放,存放函数的参数值,局部变量的值等,其操作方式类似于数据结构的栈。 2、堆区(heap):一般 阅读全文
摘要:
谈一谈Linux中一切皆文件 1、 Linux中所有内容都是以文件的形式保存和管理,即:一切皆文件。 普通文件是文件。 目录(在win下称为文件夹)是文件。 硬件设备(键盘、硬盘、打印机)是文件。 套接字(socket)、网络通信等资源也都是文件。 2、 文件类型: 1) 普通文件 类似 mp4、j 阅读全文
摘要:
相关术语 RAM:指内存,断电后内容无法保存,因此叫做易失性存储;另一个相关的概念是ROM,字面上是只读存储器,从字面上里面更适合用于嵌入式设备,现在意义有所延伸,具体自行查找资料。RAM的速度远快于ROM,CPU与内存直接进行数据交换。 CPU:计算机的所有计算操作都由它执行,只要先记住它是一块有 阅读全文