首页 / 军事 / 中国军情 / 正文

c 源码(C基础:从源代码到可执行文件)

放大字体  缩小字体 来源:虎门沙角炮台 2026-04-17 17:22  浏览次数:6

一直借助IDE自动编译生成可执行文件,没有仔细关注这个过程,今天正好有空,查查资料来总结一下。

我们写的C程序都是我们人类可以读懂的文本。可是为了在系统上运行我们的程序,必须把我们的C程序中每条语句转换成机器语言指令的,同时要把这些指令按照可执行目标文件格式组织成可执行目标文件。这种转换通常由编译器驱动程序完成,比如:gcc;

假设我们有一个hello.c源文件,要把它翻译成一个可执行文件hello,需要经历四个阶段:

  1. 预处理阶段:预处理器(cpp)根据以字符#开头的命令,修改hello.c,这一阶段处理完成w会得到另一个C程序,通常是以.i作为文件扩展名,如hello.i;
  2. 编译阶段:编译器(ccl)将文本文件hello.i翻译成文本文件hello.s,它是一个汇编语言程序。
  3. 汇编阶段:汇编器(as)将hello.s翻译成机器语言指令并将这些指令打包成可重定位目标文件,如hello.o;(汇编语言是非常有用的,因为它为不同高级语言的不同编译器提供了通用的输出语言。)
  4. 链接阶段:链接器(ld)将hello.o和它依赖的文件(如printf.o)链接在一起,组织成一个可执行目标文件hello,这个文件是可以被加载到内存中,由系统执行。


C基础:从源代码到可执行文件nerror="javascript:errorimg.call(this);">

编译过程

打赏
0相关评论
热门搜索排行
精彩图片
友情链接
声明:本站信息均由用户注册后自行发布,本站不承担任何法律责任。如有侵权请告知立立即做删除处理。
违法不良信息举报邮箱:115904045
头条快讯网 版权所有
中国互联网举报中心