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

相关推荐
一条破秋裤6 小时前
Linux 共享内存通信:POSIX 共享内存与 mmap
linux·运维·服务器
小灰灰搞电子7 小时前
C语言 <ctype.h> 头文件详解
c语言·ctype.h
阿钱真强道8 小时前
17 嵌入式操作系统 | uloop 事件循环:TCP 客户端
c语言·tcp/ip·tcp·事件循环·uloop
谷哥的小弟8 小时前
CentOS Stream浴火重生
linux·运维·centos
程序员-Benothing9 小时前
Shell输入输出详解:read、echo、printf、颜色输出
linux·运维·服务器
FPGA小徐9 小时前
从 NEMU 到 AbstractMachine:程序、运行时环境与 AM 完全解析
linux·运维·服务器
会员果汁10 小时前
函数调用和变长参数
c语言
qetfw10 小时前
Debian Chrony 时间同步、RAID5 与 LUKS 磁盘加密配置
linux·debian
白山编程大哥13 小时前
Lua 中使用 C 语言的用户自定义类型——userdata
c语言·junit·lua
东城居士13 小时前
Linux驱动阻塞与非阻塞访问的理解
linux·嵌入式系统