C/C++教程

C/C++程序编译过程详解

本文主要是介绍C/C++程序编译过程详解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需要进行编译和链接。编译就是把文本形式源代码翻译为机器语言形式的目标文件的过程。链接是把目标文件、操作系统的启动代码和用到的库文件进行组织,形成最终生成可执行代码的过程。过程图解如下:
在这里插入图片描述
从图上可以看到,整个代码的编译过程分为编译和链接两个过程,编译对应图中的大括号括起的部分,其余则为链接过程。

1. 编译过程

编译过程又可以分成两个阶段:编译和汇编。

1.1 编译

编译是读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,源文件的编译过程包含两个主要阶段:

1.1.1编译预处理

读取c源程序,对其中的伪指令(以# 开头的指令)和特殊符号进行处理。

伪指令主要包括以下四个方面:

  1. 宏定义指令,如# define Name TokenString,# undef等。
    对于前一个伪指令,预编译所要做的是将程序中的所有Name用TokenString替换&

这篇关于C/C++程序编译过程详解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!