关于 g++ 编译器
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++ 编译器的更多相关文章
- ###g++编译器
点击查看Evernote原文. #@author: gr #@date: 2014-07-20 #@email: forgerui@gmail.com 对g++编译器不是特别熟悉,希望借此熟悉一下. ...
- gcc/g++编译器的安装与说明
gcc/g++编译器的安装与说明 1.gcc/g++编译器的安装 gcc yum install gcc g++ yum install gcc-c++ 2.gcc/g++的作用 将c/c++源代码编 ...
- 算法竞赛中G++编译器的编译指令简单说明
算法竞赛使用的在线判题平台在FAQ会给出提交的代码是通过什么指令进行编译的.比如hustoj给出的c++编译指令通常是: C++: g++ Main.cc -o Main -fno-asm -O2 - ...
- g++编译器的使用
关于g++ g++ 是GNU组织开发出的编译器软件集合(GCC)下的一个C++编译器.它是Unix 和 Linux 系统下标配的 基于命令行的 C++编译器.如果你的系统是Windows,可以按照 ...
- Linux环境下GNU, GCC, G++编译器
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u012823258/article/details/36890125 一.GNU GNU是" ...
- Linux环境下GNU, GCC, G++编译器(转)
一,GNU GNU是“GNU 's Not Unix”的递归缩写, Stallman宣布GNU应当发音为Guh-NOO(革奴)以避免与new这个单词混淆(注:Gnu在英文中原意为非洲牛羚,发音与new ...
- g++编译器的使用(转载)
关于g++ g++ 是GNU组织开发出的编译器软件集合(GCC)下的一个C++编译器.它是Unix 和 Linux 系统下标配的 基于命令行的 C++编译器.如果你的系统是Windows,可以按照 ...
- CentOS 7 升级gcc/g++编译器
gcc的升级必须要使用源码进行升级,也就说,必须要使用源码进行编译才行.我的7.2的CentOS目前自带的gcc是4.8.5的,gcc从4.8之后开始支持C++11,但是鉴于现在C++14.C++17 ...
- GCC、g++编译器和gcc编译器的区别
GCC:(GNU Compiler Collection,GNU编译器套件),是由 GNU 开发的编程语言编译器.它是以GPL许可证所发行的自由软件,也是 GNU计划的关键部分. gcc:GNU的C语 ...
随机推荐
- SDRAM 学习笔记(三)
上图是terasic公司提供的SDRAM控制器,大部分已经封装好,我们需要修改其中部分代码,以此来实现我们自己需要的功能. 1.PLL时钟设定 首先上面的sdram_pll.v中产生上一篇博客所需要的 ...
- C艹函数与结构体
传递指针 代码: #include <iostream> #include <cmath> struct polar{ double distance; double angl ...
- [转]浅谈Android五大布局(二)——RelativeLayout和TableLayout
在浅谈Android五大布局(一)中已经描述了LinearLayout(线性布局).FrameLayout(单帧布局)和AbsoulteLayout(绝对布局)三种布局结构,剩下的两种布局Relati ...
- SpagoBI 教程 Lesson 3: Highchart Dashboards
SpagoBI Lesson 3: Highchart Dashboards Business Intelligence dashboards Every car comes with a dash ...
- Android 8 AudioPolicy 初始化
记录一下AudioPolicy初始化过程. frameworks\av\media\audioserver\audioserver.rc service audioserver /system/bin ...
- 第三百五十四节,Python分布式爬虫打造搜索引擎Scrapy精讲—数据收集(Stats Collection)
第三百五十四节,Python分布式爬虫打造搜索引擎Scrapy精讲—数据收集(Stats Collection) Scrapy提供了方便的收集数据的机制.数据以key/value方式存储,值大多是计数 ...
- linux 日志查询
tail -n 400 logname | grep "AAA" grep 简单使用 1.把要查询的行写到文本里面去: grep WXCP IC.NotifyIndexServer ...
- Java如何滚动几个小时和几个月?
在Java中,如何滚动几个小时和几个月? 本示例展示了如何使用calender类的roll()方法滚动月(不改变年)或小时(不更改月或年). package com.yiibai; import ja ...
- C# ?? 运算符是什么?
?? 运算符定义在将可空类型分配给非可空类型时返回的默认值. int? c = null; //若 c 为 null,则 d 为 -1,否则把 c 值赋予 dint d = c ?? -1;
- MultipleActiveResultSets=true 数据库连接复用
注:EF连接Mysql时,连接字符串是不能包含MARS的,Mysql不支持这个特性. ADO.NET 1.n 利用SqlDataReader读取数据,针对每个结果集需要一个独立的连接. 这些独立的链接 ...