c程序的翻译过程 linux版

文章目录


一、程序的翻译过程

一个c的文件到可执行文件要经历4个步骤

1.预处理(进行宏替换)

gcc -E hello.c -o hello.i

先写一段带宏的简单的代码

gcc -E hello.c -o hello.i

执行完这个命令以后就会生成一个文件

打开以后就可以看到N是给替换了的

这里-E的意思就是只做完预处理就结束了就再继续往后面走了


2.编译(生成汇编)

gcc -S hello.i -o hello.s

把.i文件编译成.s

这里就会生成汇编代码


3.汇编(生成机器可执行代码)

但是变成汇编以后电脑还是不认识就要编译成机器码

gcc -c hello.s -o hello.o

但是这种还是执行不了的


4. 连接(生成可执行文件)

gcc -o hello hello.o


这样就可以直接运行了


总结

选项太多可以记忆成
选项esc 这里只要记住c是小写的就可以了
后缀 iso

相关推荐
天才奇男子38 分钟前
HAProxy高级功能全解析
linux·运维·服务器·微服务·云原生
学嵌入式的小杨同学1 小时前
【Linux 封神之路】信号编程全解析:从信号基础到 MP3 播放器实战(含核心 API 与避坑指南)
java·linux·c语言·开发语言·vscode·vim·ux
酥暮沐1 小时前
iscsi部署网络存储
linux·网络·存储·iscsi
精彩极了吧2 小时前
C语言基本语法-自定义类型:结构体&联合体&枚举
c语言·开发语言·枚举·结构体·内存对齐·位段·联合
❀͜͡傀儡师2 小时前
centos 7部署dns服务器
linux·服务器·centos·dns
Dying.Light2 小时前
Linux部署问题
linux·运维·服务器
S19012 小时前
Linux的常用指令
linux·运维·服务器
小义_2 小时前
【RH134知识点问答题】第7章 管理基本存储
linux·运维·服务器
梁洪飞3 小时前
内核的schedule和SMP多核处理器启动协议
linux·arm开发·嵌入式硬件·arm
进击的小头3 小时前
实战案例:51单片机低功耗场景下的简易滤波实现
c语言·单片机·算法·51单片机