![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
文章平均质量分 86
瞌睡虫zZ
做一名安静的程序猿
展开
-
git基础
Git checkout -b 本地分支名 origin/远程分支名 创建分支并切换到此分支(采用此方法建立的本地分支会和远程分支建立映射关系)误删:git checkout --filename 实质用版本库里的版本替换工作区的版本,但只能恢复到最新版本,最近一次提交后修改的内容会丢失。HEAD指向当前版本,git允许在版本之间穿搜,git reset --hard commit_id返回到指定版本。将远程仓库与一个已有的本地仓库关联,然后将本地仓库的内容推送到远程仓库中。原创 2022-09-22 18:04:50 · 190 阅读 · 0 评论 -
4.编码风格与gdb
2、if/else、while、do/while、for、switch这些可以带语句块的语句,语句块的{和}应该和关键字写在一起,用空格隔开。就是指访问的内存超出了系统所给这个程序的内存空间,如果某个函数的局部变量发生访问越界,有可能并不立即产生段错误,而是在函数返回时产生段错误。4、switch和语句块里的case、default对齐写,也就是说语句块里的case、default相对于switch不往里缩进。2、双目运算符的两侧插入一个空格分隔 I = i + 1,单目运算符和操作数之间不加空格。原创 2022-09-14 11:36:47 · 296 阅读 · 0 评论 -
链接
链接的过程是由一个链接脚本(Linker Script)控制的,链接脚本决定了给每个段分配什么地址,如何对齐,哪个段在前,哪个段在后,哪些段合并到同一个Segment,另外链接脚本还要插入一些符号到最终生成的文件中,例如__bss_start、_edata、_end等。编译器在处理函数调用代码时需要有函数类型,因为必须知道参数的类型和个数以及返回值的类型才知道生成什么指令。隐式声明靠不住,那编译器为什么不自己去找函数定义,而非要让我们在调用之前写函数原型呢?因为编译器往往不知道去哪里找函数定义.原创 2020-07-07 11:43:45 · 860 阅读 · 0 评论 -
汇编与C的关系
汇编程序.section指示把代码划分成若干个段(Section),程序被操作系统加载执行时,每个段被加载到不同的地址,具有不同的读、写、执行权限。.data保存程序数据,可读可写 全局变量属于.data.text保存代码,只读和可执行.plt段协助完成动态链接的过程内存寻址:直接寻址、变址寻址、间接、基址寻址、立即数寻址、寄存器寻址程序中的地址都是虚拟地址ELF文件:UNIX系统的可执行文件都采用ELF格式,有三种类型:可重定位的目标文件Relocatab...原创 2020-07-06 16:18:26 · 385 阅读 · 0 评论 -
计算机体系结构基础
现代计算机都是基于Von Neumann体系结构的,不管是嵌入式系统、PC还是服务器。这种体系结构的主要特点是:CPU(CPU,Central Processing Unit,中央处理器,或简称处理器Processor)和内存(Memory)是计算机的两个主要组成部分,内存中保存着数据和指令,CPU从内存中取指令(Fetch)执行,其中有些指令让CPU做运算,有些指令让CPU读写内存中的数据。冯诺依曼五大结构:输入、输出、存储器、控制器、运算器CPU包含:寄存器、程序计数器PC、指令解码器、算.原创 2020-06-22 11:26:36 · 671 阅读 · 0 评论 -
运算符
MSB Most Significant Bit 最左边称为最高位LSB Least Significant Bit 最右边为最低位 第0位负数表示:最高位当做符号位,0表示正 1表示负,剩余表示绝对值大小整数类型:char (不带signed或unsigned由编译器确定是有符号还是无符号数) short、int、long、long long int (不明确写signed或unsigned都表示有符号数) 枚举(常量...原创 2020-06-22 11:25:44 · 601 阅读 · 0 评论 -
3.C数据类型
学习一门编程语言时,要注意:1. 这门语言提供了哪些Primitive,比如基本数据类型,比如基本的运算符、表达式和语句。2. 这门语言提供了哪些组合规则,比如复合数据类型,比如表达式和语句的组合规则。3. 这门语言提供了哪些抽象机制,例如数据抽象和过程抽象(Procedure Abstraction)。最简单的过程抽象:把一组语句用函数名封装起来复合数据类型—...原创 2020-05-07 17:19:37 · 241 阅读 · 0 评论 -
2.函数和语句
函数提供了一个接口(Interface),调用函数就是使用这个接口返回值类型 函数名(参数列表){ 语句列表}执行程序时,系统调用main函数,main函数返回值返回给操作系统,执行成功返回0,执行出错返回非零值。int main(int argc, char *argv[])int main(void)函数返回一个值相当于定义一个和函数返回值类型相同的临时...原创 2020-04-21 09:39:05 · 921 阅读 · 0 评论 -
1.C语言基本概念辨析
写在前面的话:由于要学编译器,看文档总觉得编程的一些基本概念没有搞清楚导致理解编译器的树型定义有些吃力,所以找来《Linux C一站式编程》这本书来看,发现这本书真的讲得简单明了,自认为很适合初学者,有一定基础的再读也会收获很多。机器语言——汇编语言——高级语言程序由指令组成,基本指令包括:输入、输出、基本运算、测试和分支、循环编译和解释的不同:编译是全翻译完再执行,解释是翻译一句执行...原创 2020-04-17 15:17:08 · 368 阅读 · 0 评论