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. Visual Studio的Debugger Visualizers

    在英文网站上找到一份清单,列出了Visual Studio的Debugger Visualizers,觉得很好,记下来备注并分享: ASP, WEB:ASP.NET control graph vis ...

  2. Java中static、final、static final的区别(转)+transient

    说明:不一定准确,但是最快理解. final: final可以修饰:属性,方法,类,局部变量(方法中的变量) final修饰的属性的初始化可以在编译期,也可以在运行期,初始化后不能被改变. final ...

  3. 关于Struts2开发过程中遇到的问题和解决方案

    1.表的名字不要取关键字一样,不要取User这种的 2.java判断字符串相等用.equals,不能用== 3.<s:textfield name="caiuser.uphone&qu ...

  4. 第三百二十三节,web爬虫,scrapy模块以及相关依赖模块安装

    第三百二十三节,web爬虫,scrapy模块以及相关依赖模块安装 当前环境python3.5 ,windows10系统 Linux系统安装 在线安装,会自动安装scrapy模块以及相关依赖模块 pip ...

  5. MongoDB C Driver Building on CentOS

    Building on Unix Prerequisites OpenSSL is required for authentication or for SSL connections to Mong ...

  6. Java如何显示不同语言的时间?

    在Java中,如何显示不同语言的时间? 此示例使用DateFormat类以中文语言显示时间. package com.yiibai; import java.text.DateFormat; impo ...

  7. Linux下yum命令详解

    yum是什么yum = Yellow dog Updater, Modified主要功能是更方便的添加/删除/更新RPM包.它能自动解决包的倚赖性问题.它能便于管理大量系统的更新问题yum特点 可以同 ...

  8. window wlan 相关服务

    1.Extensible authentication protocol 2.cng key lsolation 3.wlan autoconfig

  9. MySQL错误ERROR 2002 (HY000): Can't connect to local MySQL server

    From: http://www.jb51.net/article/56952.htm 这篇文章主要介绍了MySQL错误ERROR 2002 (HY000): Can't connect to loc ...

  10. 一篇关于apache commons类库的详解[转]

    1.1. 开篇 在Java的世界,有很多(成千上万)开源的框架,有成功的,也有不那么成功的,有声名显赫的,也有默默无闻的.在我看来,成功而默默无闻的那些框架值得我们格外的尊敬和关注,Jakarta C ...