C语言代码到可执行文件的过程

简介: 我们写好的代码是不能直接运行的,想要运行需要预编译、编译、汇编、链接四大步骤变成可执行目标文件,本文将简单介绍这四大步骤。

1.预编译:

步骤:

(1)处理#开头的指令,比如#define、#if、#ifdef,其中不包含#pragma

(2)删除所有的注释

(3)添加行号文件标识

文件转换:.c->.i


2.编译:

步骤:

(1)词法分析

(2)语法分析

(3)语义分析

(4)源代码优化

(5)代码生成

(6)目标代码优化

文件转换:.i->.s


3.汇编:

步骤:

(1)将汇编代码转成机器可以执行的指令,生成可重定向目标文件

文件转换:

Windows:.s->.obj

Linux:.s->.o


4.链接:

步骤:

(1)将所有的.o文件段合并,其中符号表合并后会进行符号解析

(2)地址空间和分配

(3)符号的重定向

文件转换:

Windows下:obj->.exe

Linux下:.o->.out

相关文章
|
2天前
|
机器学习/深度学习 C语言 Windows
C语言的管理系统代码
C语言学生宿舍管理系统代码
|
1天前
|
算法 编译器 C语言
猜数字游戏C语言代码实现
猜数字游戏C语言代码实现
|
1天前
|
存储 安全 Serverless
扫雷游戏C语言代码实现——万字长文超详细,手把手教你实现,新手也能学会
扫雷游戏C语言代码实现——万字长文超详细,手把手教你实现,新手也能学会
|
2天前
|
C语言
C语言练习代码第一篇
C语言练习代码第一篇
|
1天前
|
C语言 Windows
【C语言】:文件读写相关函数介绍
【C语言】:文件读写相关函数介绍
7 0
|
2天前
|
编译器 程序员 Linux
|
2天前
|
C语言
|
2天前
|
C语言
|
2天前
|
C语言
|
2天前
|
编译器 C语言