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++ 命令的常用选项的更多相关文章

  1. gcc/g++ 命令的经常使用选项

    gcc/g++ 命令的经常使用选项格式(选项 解释) -o FILE 指定输出文件名称.在编译为目标代码时,这一选项不是必须的.假设FILE没有指定,缺省文件名称是a.out. -c 仅仅编译生成目标 ...

  2. zip命令的常用选项

    zip命令的常用选项 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 大家都知道,在linux上一切皆文件,在实际生产环境中,如果我们需要部署一些系统的服务,我们会将一些软件包提前下 ...

  3. gcc/g++命令认识

    gcc & g++是gnu中最主要和最流行的c & c++编译器 . g++用来针对c++的处理命令,以.cpp为后缀,对于c语言后缀名一般为.c.这时候命令换做gcc即可. 下面以T ...

  4. gcc/g++ 命令

    gcc & g++现在是gnu中最主要和最流行的c & c++编译器 .g++是c++的命令,以.cpp为主,对于c语言后缀名一般为.c.这时候命令换做gcc即可.其实是无关紧要的.其 ...

  5. mysqldump命令之常用选项

    ===============================================mysqldump常用选项-h, --host=name:服务器IP-u, --user=name:登录名 ...

  6. gcc/g++命令参数笔记

    1. gcc -E source_file.c -E,只执行到预编译.直接输出预编译结果. 2. gcc -S source_file.c -S,只执行到源代码到汇编代码的转换,输出汇编代码. 3. ...

  7. gcc/g++命令参数

    在windows环境下,我们运行一程序,只需要在VS中点击运行按键即可,VS帮我们做完了程序的预处理.编译.汇编.链接阶段 但是在linux环境下,我们只能借助gcc/g++完成这一系列的操作 -o参 ...

  8. grep命令的常用选项

    Linux的grep命令是使用正则表达式进行文本搜索的,一些对程序员很有用的选项如下: -i   忽略大小写 -w  进行普通文件匹配,而不是正则表达式匹配 -c  只统计每个文件中匹配行数(默认是输 ...

  9. 第七篇:gcc和arm-linux-gcc常用选项

    目录 一.gcc和arm-linux-gcc的常用选项 二.从.c文件到可执行文件过程 一.gcc和arm-linux-gcc的常用选项 常用选型 -v 查看gcc编译器的版本,显示gcc执行时的详细 ...

随机推荐

  1. Educational Codeforces Round 12 F. Four Divisors 求小于x的素数个数(待解决)

    F. Four Divisors 题目连接: http://www.codeforces.com/contest/665/problem/F Description If an integer a i ...

  2. Extjs window组件 拖动统制

    Extjs window组件 拖动控制有时候一拖就拖出了浏览器,在想拖回来就不好办了: 解决办法:参考以下代码,在加载Ext核心库以后执行: Ext.override(Ext.Window, {    ...

  3. ExtJs ComboBox 在IE 下 自动完成功能无效的解决方案

    使用 ComboBox 来作为自动完成的组件,就像google suggestion ,可是在IE下怎么也无法输入字符,是处于不可编辑状态,而firefox和chrome都正常显示.我在2个ExtJs ...

  4. TSearch & TFileSearch Version 2.2 -Boyer-Moore-Horspool search algorithm

    unit Searches; (*-----------------------------------------------------------------------------* | Co ...

  5. Spring JavaConfig实例

    从Spring 3起,JavaConfig功能已经包含在Spring核心模块,它允许开发者将bean定义和在Spring配置XML文件到Java类中. 但是,仍然允许使用经典的XML方式来定义bean ...

  6. js继承——到继承结束

    说到继承,其它语言里可能有两种: 接口继承是继承方法签名,而实现继承则继承实际方法.ES函数没有签名,不能实现接口继承,只支持实现继承,而实现继承主要依靠原型链.(这两句话,说来轻松,理解来不易,且行 ...

  7. animate()--jq动画

    2参数,样式,时间 $(this).animate({top:"100px","opacity": "0"},1000) 3参数,样式,时间 ...

  8. iOS-- UIimageView详解

    原文地址: http://blog.csdn.net/djxiaoyu_haha/article/details/40348377 // (1)创建 UIImageView *imageView = ...

  9. HDU 3949 XOR 高斯消元

    题目大意:给定一个数组,求这些数组通过异或能得到的数中的第k小是多少 首先高斯消元求出线性基,然后将k依照二进制拆分就可以 注意当高斯消元结束后若末尾有0则第1小是0 特判一下然后k-- 然后HDU输 ...

  10. Kafka目录

    1. kafka生产者.消费者java示例 2. apache kafka监控系列-KafkaOffsetMonitor(转) 3. Kafka0.8.2删除topic逻辑(转) 4. spark s ...