g++由自由软件基金发行,g++是基于类unix的c++编译器,通常在命令行运行。它一般附带于类Unix系统中,因此如果你正在运行Unix或Linux系统,它很可能已经存在于你的系统中。你可以对一个源代码文件调用g++命令,就像下面这样:

g++ filename

默认的可执行输出对象为"a.out"。也可以在命令行指定可执行输出文件的名字:

-o outputfile

完整的命令为:

g++ filename -o outputfile

及早发现问题

为了可以在编译时启动警告和构建标准的可兼容的C++代码,我推荐使用以下参数:

-Wall -ansi

了解更多关于编译警告值的知识,请点击

如果你想要编译器将警告视为异常——这意味着你可能无法得到一个可执行对象, 你可以使用-Werror参数。这将确保你不会错过任何异常。

GDB代码

如果你想你的可执行对象支持用GDB(GNU Debugger)调试,请加入-g参数。

g++ filename -g -o outputfile

这将使得在调试期间,GDB可以给你更多细节信息,因为以上命令会在可执行文件中加入额外的代码,以便GDB可以找到变量名称和列出源代码。

更多帮助

如果你使用类Unix系统,你可以通过以下命令了解更多的g++命令行参数。

man g++

创建共享库

如果要了解更多关于在Linux系统中使用GCC创建共享库,可以查看《在Linux使用GCC编译C语言共享库

本文译自此处

关于 g++ 编译器的更多相关文章

  1. ###g++编译器

    点击查看Evernote原文. #@author: gr #@date: 2014-07-20 #@email: forgerui@gmail.com 对g++编译器不是特别熟悉,希望借此熟悉一下. ...

  2. gcc/g++编译器的安装与说明

    gcc/g++编译器的安装与说明 1.gcc/g++编译器的安装 gcc yum install gcc g++ yum install gcc-c++ 2.gcc/g++的作用 将c/c++源代码编 ...

  3. 算法竞赛中G++编译器的编译指令简单说明

    算法竞赛使用的在线判题平台在FAQ会给出提交的代码是通过什么指令进行编译的.比如hustoj给出的c++编译指令通常是: C++: g++ Main.cc -o Main -fno-asm -O2 - ...

  4. g++编译器的使用

    关于g++ g++  是GNU组织开发出的编译器软件集合(GCC)下的一个C++编译器.它是Unix 和 Linux  系统下标配的 基于命令行的 C++编译器.如果你的系统是Windows,可以按照 ...

  5. Linux环境下GNU, GCC, G++编译器

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u012823258/article/details/36890125 一.GNU GNU是" ...

  6. Linux环境下GNU, GCC, G++编译器(转)

    一,GNU GNU是“GNU 's Not Unix”的递归缩写, Stallman宣布GNU应当发音为Guh-NOO(革奴)以避免与new这个单词混淆(注:Gnu在英文中原意为非洲牛羚,发音与new ...

  7. g++编译器的使用(转载)

    关于g++ g++  是GNU组织开发出的编译器软件集合(GCC)下的一个C++编译器.它是Unix 和 Linux  系统下标配的 基于命令行的 C++编译器.如果你的系统是Windows,可以按照 ...

  8. CentOS 7 升级gcc/g++编译器

    gcc的升级必须要使用源码进行升级,也就说,必须要使用源码进行编译才行.我的7.2的CentOS目前自带的gcc是4.8.5的,gcc从4.8之后开始支持C++11,但是鉴于现在C++14.C++17 ...

  9. GCC、g++编译器和gcc编译器的区别

    GCC:(GNU Compiler Collection,GNU编译器套件),是由 GNU 开发的编程语言编译器.它是以GPL许可证所发行的自由软件,也是 GNU计划的关键部分. gcc:GNU的C语 ...

随机推荐

  1. SDRAM 学习笔记(三)

    上图是terasic公司提供的SDRAM控制器,大部分已经封装好,我们需要修改其中部分代码,以此来实现我们自己需要的功能. 1.PLL时钟设定 首先上面的sdram_pll.v中产生上一篇博客所需要的 ...

  2. C艹函数与结构体

    传递指针 代码: #include <iostream> #include <cmath> struct polar{ double distance; double angl ...

  3. [转]浅谈Android五大布局(二)——RelativeLayout和TableLayout

    在浅谈Android五大布局(一)中已经描述了LinearLayout(线性布局).FrameLayout(单帧布局)和AbsoulteLayout(绝对布局)三种布局结构,剩下的两种布局Relati ...

  4. SpagoBI 教程 Lesson 3: Highchart Dashboards

    SpagoBI Lesson 3: Highchart Dashboards Business Intelligence dashboards Every car comes with a dash ...

  5. Android 8 AudioPolicy 初始化

    记录一下AudioPolicy初始化过程. frameworks\av\media\audioserver\audioserver.rc service audioserver /system/bin ...

  6. 第三百五十四节,Python分布式爬虫打造搜索引擎Scrapy精讲—数据收集(Stats Collection)

    第三百五十四节,Python分布式爬虫打造搜索引擎Scrapy精讲—数据收集(Stats Collection) Scrapy提供了方便的收集数据的机制.数据以key/value方式存储,值大多是计数 ...

  7. linux 日志查询

    tail -n 400 logname | grep "AAA" grep 简单使用 1.把要查询的行写到文本里面去: grep WXCP IC.NotifyIndexServer ...

  8. Java如何滚动几个小时和几个月?

    在Java中,如何滚动几个小时和几个月? 本示例展示了如何使用calender类的roll()方法滚动月(不改变年)或小时(不更改月或年). package com.yiibai; import ja ...

  9. C# ?? 运算符是什么?

    ?? 运算符定义在将可空类型分配给非可空类型时返回的默认值. int? c = null; //若 c 为 null,则 d 为 -1,否则把 c 值赋予 dint d = c ?? -1;

  10. MultipleActiveResultSets=true 数据库连接复用

    注:EF连接Mysql时,连接字符串是不能包含MARS的,Mysql不支持这个特性. ADO.NET 1.n 利用SqlDataReader读取数据,针对每个结果集需要一个独立的连接. 这些独立的链接 ...