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

相关推荐
xrui5820 分钟前
2026实战:深度解析 Gemini 3.1 镜像站函数调用在自动化运维工单中的应用
linux·服务器·网络
HackTwoHub26 分钟前
Linux 内核史诗级本地提权 全网深度复现、原理完整分析( CVE-2026-31431)
linux·运维·安全·web安全·网络安全·代码审计·安全架构
她说彩礼65万1 小时前
C语言 文件
linux·服务器·c语言
txg6661 小时前
自动驾驶领域热点简报(2026-04-26 ~ 2026-05-03)
linux·人工智能·自动驾驶
二哈赛车手1 小时前
新人笔记---ES和kibana启动问题以及一些常用的linux的错误排查方法,以及ES,数据库泄密解决方案[超详细]
java·linux·数据库·spring boot·笔记·elasticsearch
嵌入式×边缘AI:打怪升级日志1 小时前
嵌入式Linux开发核心自测题(全系列精华浓缩)
java·linux·运维
嵌入式×边缘AI:打怪升级日志2 小时前
TinaSDK Linux Kernel 基本使用(全志T113开发板)
linux·运维·服务器
嵌入式×边缘AI:打怪升级日志2 小时前
Linux内核基础完全入门指南(理论篇)
linux·运维·服务器
Muyuan19982 小时前
28.Paper RAG Agent 开发记录:修复 LLM Rerank 的解析、Fallback 与可验证性
linux·人工智能·windows·python·django·fastapi
比昨天多敲两行2 小时前
Linux进程概念
linux·运维·服务器