博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Gcc编译过程
阅读量:7113 次
发布时间:2019-06-28

本文共 368 字,大约阅读时间需要 1 分钟。

假定有一个源文件:hello.c

gcc编译它具体需要四步:

1、预处理

gcc -E hello.c > hello.i
这里重定向到hello.i文件,否则,会直接输出到屏幕,注意预处理文件必须以.i结尾。

2、编译

gcc -S hello.i
编译阶段,会检查语法错误,并输出一个.s结尾的文件,这里是hello.s。
如果用vim hello.s 可以看到该文件其实是一个汇编指令。

3、汇编

gcc -c hello.s
汇编后,产生hello.o文件,注意:该文件不能运行,因为可能缺少链接库。
以上3步也可以编译c++的源文件,但是,最后链接需要g++的链接库。

4、链接

gcc  hello.o -o hello
链接需要的库文件,该步骤可以检查出写错误的函数名,提示无法找到函数库。
最后,生成可执行文件hello。

转载地址:http://dsghl.baihongyu.com/

你可能感兴趣的文章
docker 部署前端
查看>>
Spring定时任务的几种实现
查看>>
web前端程序员真的值这么多钱吗?
查看>>
好程序员Java分享JVM结构
查看>>
echarts加轴显示(单位)及标题
查看>>
Java反射 方法 Methods
查看>>
使用工具类DbUtils连接数据库,并简单操作数据库
查看>>
vue/cli3+最全生产环境优化方法
查看>>
日日日日日日日日日日
查看>>
Leetcode #383 Javascript
查看>>
有趣的前端编程题:携程 2018 春招
查看>>
js数据类型--object
查看>>
Vue2.0源码阅读笔记(一):选项合并
查看>>
git - 常用命令
查看>>
一个NSObject对象占多少内存呢?
查看>>
深入学习js之——参数按值传递#9
查看>>
Jackson使用指南
查看>>
Kotlin1.3 协程Api详解:CoroutineScope, CoroutineContext
查看>>
产品思维
查看>>
Flutter 入门指北(Part 2)之基础部件
查看>>