程序的执行

./helloword

程序以可执行文件的形式放在磁盘上,可执行文件+数据文件共同构成了程序。本文将针对linux程序的执行过程进行简单的总结。

可执行文件

编译-链接-加载

一个C程序从源文件到可执行文件并运行的过程如下:

  1. 预处理器处理C文件,扩展include文件
  2. 编译器生成汇编代码(.s)
  3. 汇编器根据汇编代码生成二进制机器码(.o)
  4. 链接器将二进制机器码进行链接产生单独的程序镜像
  5. loader将程序加载到内存中进行运行

参考文献

0%