
复习
XHumble
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
指针浅谈
指针的概念:指针首先时C语言中的一种数据类型,T*, 用该种类型定义的变量称为指针变量,该变量中存储的是一个地址,指针变量中存储的是一个地址,指针就是地址,地址就是指针指针的分类:指针分为一级指针和多级指针指针的操作:解引用 -> sizeof(指针) ++ -- + -注意:对指针进行++/--/+/-时,一般针对的是指针指向一段连续的空间才用意义指针的大小32位系统下指针的大小为4字节,64位系统下若编译器按照32位方式编译的大小为4字节,若编译器按照64位的方..原创 2020-11-17 16:35:58 · 136 阅读 · 0 评论 -
编译链接运行原理
预处理删除宏定义并做文本替换 递归展开头文件 处理预编译指令 (#if 0 ,#endif) 删除注释 添加行号和文件标识 保留#pragma的指令编译词法分析 语法分析(建立了语法树) 语义分析 代码优化 生成汇编汇编翻译指令汇编生成的目标文件(可重入的二进制文件),不能直接运行,因为它是不完整的汇编遗留的问题: 预处理、编译、汇编处理的方式都是以源文件为单位,源文件和源文件之间没有关系,而一个项目能由多个源文件构成1.弱符号的处理 (C++没有)...原创 2020-07-09 15:52:11 · 164 阅读 · 0 评论 -
虚拟地址空间的布局
3G用户空间保留区:位于虚拟地址空间的底层,存放的C的库,不可访问 大小为128M. text 存放程序执行代码,也叫代码段(可读、可执行). data 数据段,用来存放已初始化且初始化不为0的全局变量和静态局部变量 (可读、可写). bss 未初始化数据段,用来存放未初始化或者初始化为0的全局变量和静态局部变量栈 又称堆栈,由编译器自动分配释放用函数内部声明的非静态局部变量提供空间 记录函数调用过程中相关的维护信息 临时存储区,用于暂时存储长算式表达式部分计算结果或al...原创 2020-07-09 15:18:31 · 311 阅读 · 0 评论