从编写c语言源程序到运行,c语言 源代码到可执行程序的过程

从源代码(.c)到可执行文件一共分为五个步骤:

1、编译预处理

2、编译阶段

3、优化阶段

4、汇编过程

5、链接程序

一、编译预处理(.i) ------>"替代"成一个没有宏定义、没有条件编译指令、没有特殊符号的输出文件 。

读取c源程序,对其中的伪指令(以#开头的指令)和特殊符号进行处理。伪指令主要包括以下四个方面:

(1)宏定义指令。

如:#define M 9 、#define SQUARE(x) ((x)*(x)) 、#undef(取消宏定义),宏一般都是大写(以区别函数)。注意:作为字符串的常量则不被替换。

#define M 9

int main()

{

a=M;

printf("M=%d",a);

//printf("M=%d",9);

}

#define SQUARE(x) ((x)*(x))

// x * x

int main()

{

int a=4;

printf("%d\n",SQURE(a+1));

//printf("%d\n",((4+1)*(4+1)));

//printf("%d\n",  4+1 * 4+1  );

}

注意:参数列表的左括号必须与SQUARE紧邻、不能吝啬括号,否则会出现计算逻辑的问题。

(2)条件编译指令。

如:#ifd

你可能感兴趣的:(从编写c语言源程序到运行)