linux下用gcc如何生成预处理、汇编等文件
2024-10-16 05:37:08
【gcc -E test.c -o test.i------>预处理文件生成.i 文件。】
- 1、c语言程序生成过程
- C语言程序的生成过程可以简单的分为:编辑、预处理、编译、汇编、链接五个阶断。
- 下面所有的操作以hello world程序为例,源码文件命名为t.c,源码内容如下:
- #include <stdio.h>
- int main()
- {
- printf("hello world\n");
- return 0;
- }
- 2
2、预处理阶断
预处理阶断是对c源码中的预处理代码进行处理。
gcc -E -o t.i t.c
- 3
3、编译阶断
编译阶断是将c源码处理为汇编代码。
gcc -S -o t.s t.i
或者
gcc -S -o t.s t.c
- 4
4、汇编阶断
汇编阶断是将汇编代码处理为二进制代码。
gcc -c -o t.o t.s
或者
gcc -c -o t.o t.c
- 5
5、链接阶断
链接阶断将二进制代码打包成一个操作系统可以识别的可执行文件格式,linux是elf格式,windows上是pe格式。
gcc -o t t.o
或者
gcc -o t t.c
- 6
- 6、运行阶断
- 运行阶断,有操作系统的可执行文件加载器负责加载并执行程序。
- ./t
最新文章
- Android定位&;地图&;导航——自定义公交路线代码
- C# 获取文件MD5校验码
- shell 日期加减
- 浪首登录浮层增加收藏入口项目学到的几点知识-IE7 bug、relatedTarget、字符串换行
- mark 一下
- 关于IE10出现LinkButton点击无效的解决方案
- 用Chrome devTools 调试Android手机app中的web页面。
- 关于Model层中Datetime Datetime? 默认值的问题
- 临时禁用Resharper
- Struts1 中实现Action跳转地址栏变化的方法
- canvas-画七巧板
- hdu2574 Hdu Girls&#39; Day (分解质因数)
- openstack私有云布署实践【9.3 主从controller单向同步glance-image目录】
- MongoDB系列三(Spring集成方案).
- Extensions in UWP Community Toolkit - WebViewExtensions
- 2018-2019-2 20165336 《网络对抗技术》 Exp6 信息搜集与漏洞扫描
- C语言-用函数实现社保工资查询系统
- Mysqldump 参数大全
- Strict Standards: Declaration of UserModel::toJSON() should be compatible with that of BaseModel::toJSON()
- The Microservices Workflow Automation Cheat Sheet
热门文章
- hdu3374(最小最大表示法以及kmp)
- 一款基于jquery的手风琴图片展示效果
- 【Unity/SVN】使用SVN管理Unity项目
- CodeIgniter(3.1.4)框架使用静态文件(js,css)
- 开源直播OBS ( Open Broadcaster Software ) 多机位,多场景切换
- tp-03 模板显示
- chrome 常用快捷键(可以摆脱鼠标哦)
- MySQL,SQLSERVER,ORACLE获取数据库表名及字段名
- 修改MySQL的默认密码的四种小方法
- 【Java面试题】24 sleep() 和 wait() 有什么区别? 详细解析!!!!