gcc/g++ 命令的常用选项
gcc/g++ 命令的常用选项
使用g++编译CPP文件如果用gcc编译C++源文件时,加以下选项:-lstdc++,否则使用了C++操作的文件编译会出错。假如在程序中用到new delete操作,而不加此选项进行编译会出现以下错误信息:zch07eha01:/home/mrbt48/cpp> gcc -o RG RandomTest.cpp
/tmp/cciMHHyb.o(.text+0x2b): In function `main':
: undefined reference to `operator new(unsigned int)'
/tmp/cciMHHyb.o(.text+0x51): In function `main':
: undefined reference to `operator delete(void*)'
/tmp/cciMHHyb.o(.text+0x5e): In function `main':
: undefined reference to `operator new[](unsigned int)'
/tmp/cciMHHyb.o(.text+0x9f): In function `main':
: undefined reference to `RandomGenerator::getRandom(int*, int)'
/tmp/cciMHHyb.o(.text+0x10f): In function `main':
: undefined reference to `operator delete[](void*)'
/tmp/cciMHHyb.o(.gnu.linkonce.t._ZNSt8auto_ptrI15RandomGeneratorED1Ev+0xf): In function `std::auto_ptr<RandomGenerator>::~auto_ptr()':
: undefined reference to `operator delete(void*)'
/tmp/cciMHHyb.o(.gnu.linkonce.t._ZNSt8auto_ptrI15RandomGeneratorE5resetEPS0_+0x19): In function `std::auto_ptr<RandomGenerator>::reset(RandomGenerator*)':
: undefined reference to `operator delete(void*)'
/tmp/cciMHHyb.o(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status加入 -lstdc++选项后,成功通过:zch07eha01:/home/mrbt48/cpp> gcc -lstdc++ -o RG RandomTest.cpp
gcc/g++ 命令的常用选项格式(选项 解释)
-o FILE 指定输出文件名,在编译为目标代码时,这一选项不是必须的。如果FILE没有指定,缺省文件名是a.out.
-c 只编译生成目标文件,不链接
-m486 针对 486 进行代码优化。
-O0 不进行优化处理。
-O 或 -O1 优化生成代码。
-O2 进一步优化。
-O3 比 -O2 更进一步优化,包括 inline 函数。
-w 关闭所有警告,建议不要使用此项
-Wall 允许发出gcc能提供的所有有用的警告,也可以用-W(warning)来标记指定的警告
-werror 把所有警告转换为错误,以在警告发生时中止编译过程
-MM 输出一个make兼容的相关列表
-v 显示在编译过程的每一步中用到的命令
-E 只运行 C 预编译器。
-shared 生成共享目标文件。通常用在建立共享库时。
-static 链接静态库,即执行静态链接
-lFOO 链接名为libFOO的函数库
-g 在可执行程序中包含标准调试信息
-ggdb 在可执行程序中包含只有GNU debugger才能使别的达两条是信息
-O 优化编译过的代码
-ON 指定代码优化的级别为N,o<=N<=3
-ansi 支持ANSI/ISO C的标准语法,取消GNU的语法扩展中与该标准有冲突的部分(但这一选项并不能保证生成ANSI兼容的代码) 这一选项将禁止 GNU C 的某些特色, 例如 asm 或 typeof 关键词。
-pedantic 允许发出ANSI/ISO C标准所列出的所有警告
-errors 允许发出ANSI/ISO C标准所列出的所有错误
-traditional 支持Kernighan & Ritchie C语法(如用旧式语法定义函数);如果不知道这个选项的含义,也没有关系
-IDIRECTORY 指定额外的头文件搜索路径DIRECTORY。
-LDIRECTORY 指定额外的函数库搜索路径DIRECTORY。
-DFOO=BAR 在命令行定义预处理宏FOO,其值为BAR
-IDIRNAME 将DIRNAME加入到头文件的搜索目录列表中
-LDIRNAME 将DIRNAME加入到库文件的搜索目录列表中,缺省情况下gcc 只链接共享库
-DMACRO 以字符串“1”定义 MACRO 宏。
-DMACRO=DEFN 以字符串“DEFN”定义 MACRO 宏。
-UMACRO 取消对 MACRO 宏的定义。
gcc/g++ 命令的常用选项的更多相关文章
- gcc/g++ 命令的经常使用选项
gcc/g++ 命令的经常使用选项格式(选项 解释) -o FILE 指定输出文件名称.在编译为目标代码时,这一选项不是必须的.假设FILE没有指定,缺省文件名称是a.out. -c 仅仅编译生成目标 ...
- zip命令的常用选项
zip命令的常用选项 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 大家都知道,在linux上一切皆文件,在实际生产环境中,如果我们需要部署一些系统的服务,我们会将一些软件包提前下 ...
- gcc/g++命令认识
gcc & g++是gnu中最主要和最流行的c & c++编译器 . g++用来针对c++的处理命令,以.cpp为后缀,对于c语言后缀名一般为.c.这时候命令换做gcc即可. 下面以T ...
- gcc/g++ 命令
gcc & g++现在是gnu中最主要和最流行的c & c++编译器 .g++是c++的命令,以.cpp为主,对于c语言后缀名一般为.c.这时候命令换做gcc即可.其实是无关紧要的.其 ...
- mysqldump命令之常用选项
===============================================mysqldump常用选项-h, --host=name:服务器IP-u, --user=name:登录名 ...
- gcc/g++命令参数笔记
1. gcc -E source_file.c -E,只执行到预编译.直接输出预编译结果. 2. gcc -S source_file.c -S,只执行到源代码到汇编代码的转换,输出汇编代码. 3. ...
- gcc/g++命令参数
在windows环境下,我们运行一程序,只需要在VS中点击运行按键即可,VS帮我们做完了程序的预处理.编译.汇编.链接阶段 但是在linux环境下,我们只能借助gcc/g++完成这一系列的操作 -o参 ...
- grep命令的常用选项
Linux的grep命令是使用正则表达式进行文本搜索的,一些对程序员很有用的选项如下: -i 忽略大小写 -w 进行普通文件匹配,而不是正则表达式匹配 -c 只统计每个文件中匹配行数(默认是输 ...
- 第七篇:gcc和arm-linux-gcc常用选项
目录 一.gcc和arm-linux-gcc的常用选项 二.从.c文件到可执行文件过程 一.gcc和arm-linux-gcc的常用选项 常用选型 -v 查看gcc编译器的版本,显示gcc执行时的详细 ...
随机推荐
- HDU 5293 Annoying problem 树形dp dfs序 树状数组 lca
Annoying problem 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5293 Description Coco has a tree, w ...
- Linux知识(2)----中文输入法安装
Ubantu14.04在English的环境下,没有中文输入法,自带的ibus不完整.现在基于ibus框架,有几个比较好用的输入法,如sunpingyin和google pinying,还有五笔的输入 ...
- 去除两端margin的方法
假如有一份视觉稿,其中一部分是实现这样的: 两排横向排列的框,它们中间有边距,两端无边距.每个框大小为100*100,外边距为20,整个区域为460*220. HTML结构: <div> ...
- jpush-react-native 推送功能(Android 篇)
github原地址 极光推送官方支持的 React Native 插件 安装 npm install jpush-react-native --savenpm install jcore-react- ...
- Java实现-每天三道剑指Offre(2-4)
实现一个单例模式 /** * 面试题2:实现单例模式 * * @author qiuyong 饿汉式 */ public class Singleton01 { private Singleton01 ...
- 解决新版本webpack vue-cli生成文件没有dev.server.js问题
新版本webpack生成的dev.server.js 在webpack.dev.conf.js中 webpack.dev.conf.js const axios = require('axios') ...
- 在apache环境中使用 python stock 请求遇到error: [Errno 13] Permission denied
一个python 项目运行在linux 环境下,使用apache做为web容器. 调用urllib2.urlopen(your url) 或者 xmlrpclib.ServerProxy()请求某个服 ...
- WPF支持GIF的各种方法
2012.12.18更新:修复下载链接 已知WPF的Image元素只能显示GIF图片的第一帧,而MediaElement不能加载作为资源或内嵌的资源的GIF图片,所以网上有几种实现方法. 我抄袭网上提 ...
- api的mock开源工具;api文档生成器;api的mock工具;阿里系;其他开源
django-rest-framework,即drf的api文档,包括自带的文档和其他三方文档,比如swagger.DRF Docs等 https://www.django-rest-framewor ...
- 度量Web性能的关键指标
自网站诞生以来,响应速度/响应时间一直都是大家关心的话题,而速度慢乃是网站的一个杀手,正当大家以为四核和宽带能力的提升能够解决这些问题时,Wi-Fi和移动设备为热点移动互联网又悄然兴起. 在2006年 ...