gcc 编译选项常用参数(-S -c -E -o)
gcc 编译选项常用参数(-S -c -E -o)
前言
在编译C语言程序中,gcc是最常用的编译器,本文主要说明gcc中最重要,最基本的参数,知道这几个参数的作用,大多数场景下的编译任务我们都可以完成了。本文也借这几个参数,说明一段c语言代码是如何编译成为机器识别的代码的。
常用参数功能说明
本文主要说明-E,-S,-c,-o 四个编译选项,他们分别对应C语言程序编译中的几个步骤。
以编译程序test.c为例
-E: 预处理,主要是进行宏展开等步骤,生成的文件微
test.i
gcc -E test.c
-S: 编译,生成汇编代码,生成的文件为
test.S
gcc -S test.c
-c: 汇编:生成机器码,生成的文件未
test.o
gcc -c test.c
(-o): 链接:生成可执行文件
gcc test.c (-o test)
我们需要注意,-o本质上是一个重命名选项。无论有没有-o选项,最后都会执行链接的步骤。
当不使用-o选项时,执行命令gcc test.c
,生成的是默认的a.out文件。这个名字太丑啦,所以一般我们用-o重命名一下, 使用命令gcc test.c -o test
,生成可执行的test
文件
gcc 编译选项常用参数(-S -c -E -o)相关推荐
- GCC编译选项参数介绍
gcc和g++分别是gnu的c和c++编译器,下面是整理的常用编译选项参数: #(1). -x: 设定文件所使用的语言,使文件后缀名无效,如下,执行完后生成test.o gcc -c -x c++ t ...
- C/C++之Gcc常用参数
gcc是GNU旗舰产品,目前基本上就是和Unix捆绑在一起分发的.这个东西功能强大,有多达上千个选项,其用户手册也有将近一万行.虽然其中的多数选项平时很少用到,但是不管装软件还是写程序,往往都会用到g ...
- 【转载】gcc 使用中常用的参数及命令
本文转载自:http://www.cnblogs.com/yaozhongxiao/archive/2012/03/16/2400473.html 如需转载,请注明原始出处.谢谢. --------- ...
- Linux+gcc设置断点,gcc/g++常用编译选项和gdb常用调试命令
8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? gcc/g++编译器是我们写编译C/C++程序时离不开的编译工具,而gdb又是调试C/C++程序的利器,这一篇文章我们记 ...
- GCC编译选项--创建与使用库
系统函数库使用 linux系统函数库位于/usr/lib和/lib目录下 #include <math.h> #cc test.c -lm -o test 动态库创建 1).编译时指定-f ...
- 【GCC】gcc警告选项汇总--编辑中|gcc编译选项
目录 前言 请求或取消警告选项 GCC编译选项 参考原文:https://blog.csdn.net/qq_17308321/article/details/79979514 前言 警告:不是错误的, ...
- Linux | 编译原理、gcc的命令参数、自动化构建工具 make/Makefile
文章目录 编译原理 预处理 编译 汇编 链接 gcc的常用命令参数 make 和 Makefile 的概念 make的运行 通配符 自动化变量 伪目标.PHONE:[命令] 编译原理 在解释 make ...
- gcc/g++ 的参数总结(二)
gcc 参数总结 如果是 c++,直接将 gcc 改为 g++ 即可. 1. gcc 编译流程 预处理,Pre-Processing:gcc -E test.c -o test.i //.i文件 编译 ...
- ALSA音频编程常用参数详细说明
ALSA音频编程常用参数详细说明 ALSA简介 音频采样回放过程 音频采样过程 音频回放过程 PCM及其相关参数 PCM简介 参数说明 实例分析 PCM接口编程 WAV音频格式 WAV简介 WAV格式 ...
最新文章
- c语言二十四点游戏,C语言解24点游戏程序
- 非极大值抑制_非极大值抑制(Non-Maximum Suppression)
- python之functools partial
- BZOJ3862Little Devil I——树链剖分+线段树
- 机器学习入门---------numpy
- SQL之 UNION ALL 和UNION
- 乔布斯和任正非相比,谁更厉害?
- linux java执行_linux下运行java
- 精妙SQL语句 (笔记)【转】
- 剑指offer (01):赋值运算符函数 (C++ 实现)
- python网址编码转换_python字符串与url编码的转换实例
- (推荐)jQuery性能优化指南
- Paypal如何实现循环扣款(订阅)?
- 三目表达式的错误使用
- 传智播客风清扬视频------异常简述
- 磁盘列阵技术介绍及其部署
- vue下拉el-select二级联动
- c++手机编程软件_今天小编推荐几款好用的手机编程APP!
- 位运算实现加减乘除运算
- Python中的strip()用法
热门文章
- 常见服务器类型及其简单介绍
- 骗子举报查询系统高级版源码
- JavaScript Web APIs部分参考pink老师ppt(网页常见的js案例)
- vivo Z1i的usb调试模式在哪里,打开vivo Z1iusb调试模式的流程
- Jextson tx2,AGX xavier,GTX 1080Ti,Quadro P4000, i5 cpu,计算能力对比
- 小学生计算机的起源与发展ppt,计算机的起源与发展历程ppt课件.ppt
- leetcode 1647
- 电视屏幕太伤眼,五个地方降低亮度,来缓解眼睛痛.
- Idea 合并分支只选取部分文件的办法
- 如何将废旧显示器改造为家用电视机