C语言基础

每个C语言程序的源文件以”.C”作为文件的扩展名。

在C语言中,使用任何库函数,必须提前包含其对应的头文件。

一个C语言程序有且仅有一个main函数。
每个C语言程序经过编辑、预编译、编译、汇编、链接,最后实现程序的功能。

1.3 浅析C程序编译过程

C语言程序的编译过程主要经过预编译(Preprocessing)、编译(Compilation)、汇编(Assembly)、链接(Linking)四个步骤,最后生成可执行文件。

预处理的过程主要处理:


1)将所有的#define删除,并且展开所有的宏定义;

2)处理所有的条件预编译指令,比如#if #ifdef #elif #else #endif等;

3)处理#include 预编译指令,将被包含的文件插入到该预编译指令的位置。

4)删除所有注释 “//”和”/* */”。

5)添加行号和文件标识,以便编译时产生调试用的行号及编译错误警告行号。

6)保留所有的#pragma编译器指令,因为编译器需要使用它们。

编译的过程即把高级语言翻译成机器语言的过程。主要处理:


1)词法分析;2)语法分析;3)语义分析;4)优化后生成相应的汇编代码。

汇编的过程是将汇编代码转变成机器可以执行的命令,每一个汇编语句几乎都对应一条机器指令。

链接的过程是通过调用链接器ld来链接程序运行需要的一大堆目标文件,以及所依赖的其它库文件,最后生成可执行文件。

posted @ 2021-02-28 06:45  myrj  阅读(126)  评论(0编辑  收藏  举报