程序是如何跑起来的?--预处理,编译,汇编,链接
hello,world 是怎么执行的?总体来讲就是四个步骤。
预处理 编译 汇编 链接

1.预处理的动作如下:

2.编译(将是一个大动作,有限状态机)生成汇编代码
- 扫描:字面理解
- 语法分析:生成一棵语法树。
- 语义分析:语法有没有确定的意义,比如两个指针相乘是没有意义的,编译阶段的语义分许是静态语义。
- 源代码优化
- 代码生成
- 目标代码优化
3.汇编,将汇编语言翻译成机器码,对应译码,难度不大。
4.链接:我们把目标文件称为模块,将各个模块之间的互相引用处理好,使得各个模块都能够正确的衔接。类似拼图。

链接主要包括了地址和空间分配,符号决议,重定位这些步骤。
使用链接器,你可以直接引用其他模块的函数和全局变量而无需知道它们的地址,因为链接器在链接的时候,会根据你引用的符号,自动的去相应的位置查到地址,然后将所有引用符号的指令进行修改。
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号