linux之Gcc使用
本篇文章摘自 http://blog.csdn.net/ljzcom/article/details/7213101
对于Gcc自带的很多命令行,只有具体编程里面用到了或者看到别人真真用到的,用的目的很清楚,才有价值记录下来,常用的记在脑子里面,这就够了。对于Linux基本编程工具的总结,之前都是总结在有道云笔记里面,觉的,那里面的太封闭了,写的好不好,只有自己知道。自己一直秉持着技术开放的心态,能够清晰的讲解出来的技术,才是你真正消化吸收的东西。
Gcc功能介绍
Gcc编译器完成从原始的C、C++、Objective-C等源文件向运行在特定CPU硬件上的目标代码的转换,对于待处理的文件,通过文件后缀名来识别。
Gcc能够处理的后缀有*.c,*.cpp,*.c(面向对象的C),*.s汇编语言,*.h(头文件)
目标文件可以是 *.o 目标文件,*.a库文件。
一个完整的编译流程,具体分为预处理—>编译-->汇编--->链接
在这里,暂时只介绍非常常用的编译选项,以后用到什么选项时,会表明使用场景和对象,知道特定场景下的特定选项的作用,就可以了。
-E : 只把源文件进行预处理
-S : 只把源文件进行预处理和编译
-c : 只把源文件进行预处理、编译和汇编
-o file : 把原文件进行预处理、编译、汇编和连接,最终生成可执行文件file(确实为a.out)
-v : 把编译过程中详细输出信息都打印出来
-Dmacro :定义一个宏,名称为macro,值为1(-Dmacro = defn,值为defn)
-Ldir : 增加搜索库文件路径dir
-Idir : 增加搜索头文件路径dir
-lfoo: 链接名为libfoo的函数库
-Wall :打印出所有警告信息
-g:打开调试开关
-On:优化强度(n = 0,1,2,3,数字越大,强度越高)
linux之Gcc使用的更多相关文章
- 详解Linux安装GCC方法
转载自:http://blog.csdn.net/bulljordan23/article/details/7723495/ 下载: http://ftp.gnu.org/gnu/gcc/gcc-4. ...
- 在Linux使用GCC编译C语言共享库
在Linux使用GCC编译C语言共享库 对任何程序员来说库都是必不可少的.所谓的库是指已经编译好的供你使用的代码.它们常常提供一些通用功能,例如链表和二叉树可以用来保存任何数据,或者是一个特定的功能例 ...
- Linux系统安装gcc/g++详细过程
下载: http://ftp.gnu.org/gnu/gcc/gcc-4.5.1/gcc-4.5.1.tar.bz2 浏览: http://ftp.gnu.org/gnu/gcc/gcc-4.5.1/ ...
- linux缺失gcc的安装方法
linux安装gcc操作 1.查看linux是否有gcc文件 这个是没有挂载的 2. 使用df,查看系统光盘的挂载位置 3.卸载分区 umount /dev/sr0 4.将redhat系统光盘重新载入 ...
- Linux安装gcc时碰到的有关问题解决(解决gcc依赖有关问题)
Linux安装gcc时碰到的有关问题解决(解决gcc依赖有关问题) rpm安装gcc时碰到的有关问题解决(解决gcc依赖有关问题) 提示:error: Failed dependencies: clo ...
- 为你详解Linux安装GCC方法
下载: http://ftp.gnu.org/gnu/gcc/gcc-4.5.1/gcc-4.5.1.tar.bz2浏览: http://ftp.gnu.org/gnu/gcc/gcc-4.5.1/查 ...
- 详解Linux安装GCC
为你详解Linux安装GCC方法 2009-12-11 14:05 佚名 博客园 字号:T | T 现在很多程序员都应用GCC,怎样才能更好的应用GCC.本文以在Redhat Linux安装GCC4. ...
- linux安装----gcc
Linux中gcc是个编译工具,可以将源码文件(c c++ java文件) 编译成 二进制文件.
- linux安装gcc和gcc-c++
有些VPS中使用的是精简版Linux,上篇linux下自动备份blog到dropbox中的gcc和gcc-c++编译器没安装,无法编译出链接的"hostid",下面是Linux安装 ...
- linux中[gcc -shared -fPIC]的含义
linux在gcc编译时加上 -shared 参数时,目的是使源码编译成动态库 .so 文件: 而-fPIC的作用是 告知编译器 生成位置无关代码(编译产生的代码没有绝对位置,只有相对位置):从而可以 ...
随机推荐
- Zend Studio / Ecliplse插件StartExplorer
Install site.zip (quick and simple way) Locate zip file under site\target in Project Explorer, Start ...
- shell脚本分为三类:登录脚本、交互式脚本、非交互式脚本
shell脚本分为三类:登录脚本.交互式脚本.非交互式脚本 一. 登录脚本类似于windows下的计算机设置中的登录脚本和账户设置下的登录脚本的合集(我是这么理解的哈). 其配置文件的关键词为pref ...
- 基础笔记(一)Java 集合
集合日常用到的有List,Set,Map等等. List List常用的有2种,包括ArrayList与LinkedList.这两种List的主要区别在于底层的数据结构的差别.ArrayList是基于 ...
- 《Java程序员面试宝典》读书笔记1
今天读书发现一个很有趣的问题 请问以下程序会输出什么? public class Test2 { public static void main(String[] arg ...
- SingletonBeanRegistry
// 给定一个存在的object对象,该Registry将它存储为一个单例的根据给定的beanName(给定的object已经完全初始化完成,在访问Registry的单例object时应该是同步的)v ...
- 插入到Mysql数据库中的汉字乱码
出现这个问题,大都是在Mysql安装的时候没有选择成UTF8,默认安装的话应该是latin编码 安装完成之后后期可以在配置文件中修改. 打开Mysq的安装位置,查看my.ini文件. 修改如下设置编码 ...
- [改善Java代码]覆写equals方法必须覆写hashCode方法
覆写equals方法必须覆写hashCode方法,这条规则基本上每个Javaer都知道,这也是JDK API上反复说明的,不过为什么要这样做呢?这两个方法之间有什么关系呢?本建议就来解释该问题,我们先 ...
- [改善Java代码]推荐使用String直接量赋值
建议52:推荐使用String直接量赋值 一.建议 String对象的生成方式有两种: 1.通过new关键字生成,String str3 = new String(“中国”); 2.直接声明,如:St ...
- [改善Java代码]构造代码块会想你所想
建议37: 构造代码块会想你所想 镜像博文:http://www.cnblogs.com/DreamDrive/p/5413408.html http://www.cnblogs.com/DreamD ...
- 【补】【FZU月赛】【20150515】【待续】
A FZU-2054 水题,比较A,B双方的最大值即可. B FZU-2055 string,截取‘.’之前和之后然后和给出的文件夹名和拓展名比较就好了啊,不明白为什么那么多人错. 代码: #incl ...