gcc编译流程&存储布局&位运算

来源:互联网 发布:mac升级中解压软件损坏 编辑:程序博客网 时间:2024/05/16 12:45

gcc编译流程:

1、将c语言源程序预处理,生成.i文件

2、将.i文件编译为汇编语言,生成.s文件

3、将汇编语言文件经过汇编,生成目标.o文件

4、将各个模块的.o文件链接起来生成一个可执行程序文件

C语言的存储布局:

1、代码段:cpu执行指令的部分

2、数据段和缓冲段:全局变量和静态变量

3、堆:进行动态内存分配

4、栈:自动变量及函数调用时所需要保存的信息都存储在栈上


位运算:

异或(^): 相同则为0,不同为1

与(&): 两个为1则为1,其他都为0

或(|): 有一个为1则为1


&&:是逻辑与运算符,0代表false,其他数值代表true

||:是逻辑或运算符,有一个真则为真