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

相关推荐
礼拜天没时间.几秒前
深入Docker架构——C/S模式解析
linux·docker·容器·架构·centos
醉风塘9 分钟前
Linux进程管理:深度解析ps -ef命令及其高级应用
linux·运维·服务器
不做无法实现的梦~10 分钟前
PX4各个模块的作用(3)
linux·stm32·嵌入式硬件·机器人·自动驾驶
不爱缺氧i19 分钟前
ubuntu离线安装mariadb
linux·ubuntu·mariadb
疯狂敲代码的老刘31 分钟前
JDK 1.6到25 全版本网盘合集 (Windows + Mac + Linux)
java·linux·windows·macos·jdk
爆米花byh35 分钟前
在RockyLinux9环境的Storm2.8.3单机版安装
linux·中间件·storm
纤纡.36 分钟前
Linux 下 MySQL 数据类型与约束:第三章核心表格归纳与实战应用
linux·mysql
陈桴浮海44 分钟前
【Linux&Ansible】学习笔记合集三
linux·运维·云原生·ansible
wengqidaifeng1 小时前
数据结构(三)栈和队列(上)栈:计算机世界的“叠叠乐”
c语言·数据结构·数据库·链表
yuanmenghao1 小时前
Linux 性能实战 | 第 10 篇 CPU 缓存与内存访问延迟
linux·服务器·缓存·性能优化·自动驾驶·unix