linux g++ gcc编译c++哪个好,linux g++编译c++
单个源文件生成可执行程序
编译器 g++ 通过检查命令行中指定的文件的后缀名可识别其为 C++ 源代码文件。编译器默认的动作:编译源代码文件生成对象文件(object file),链接对象文件和 libstdc++ 库中的函数得到可执行程序。然后删除对象文件。由于命令行中未指定可执行程序的文件名,编译器采用默认的 a.out。程序可以这样来运行:
g++ helloworld.cpp
./a.out
通过-o选项指定可执行程序文件名
g++ helloworld.cpp -o helloworld
./helloworld.
程序 g++ 是将 gcc 默认语言设为 C++ 的一个特殊的版本,链接时它自动使用 C++ 标准库而不用 C 标准库。通过遵循源码的命名规范并指定对应库的名字,用 gcc 来编译链接 C++ 程序是可行的,如下例所示:
gcc helloworld,cpp -lstdc++ -o helloworld
选项 -l (ell) 通过添加前缀 lib 和后缀 .a 将跟随它的名字变换为库的名字 libstdc++.a。而后它在标准库路径中查找该库。gcc 的编译过程和输出文件与 g++ 是完全相同的。
在大多数系统中,GCC 安装时会安装一名为 c++ 的程序。如果被安装,它和 g++ 是等同,如下例所示,用法也一致:
c++ helloworld.cpp -o helloworld
多个源文件生成可执行程序
/* speak.h */
#include
class Speak
{
public:
void sayHello(const char *);
};
/* speak.cpp */
#include "speak.h"
void Speak::sayHello(const char *str)
{
std::cout << "Hello " << str << "\n";
}
/* hellospeak.cpp */
#include "speak.h"
int main(int argc,char *argv[])
{
Speak speak;
speak.sayHello("world");
return(0);
}
g++ hellospeak.cpp speak.cpp -o hellospeak
PS:这里说一下为什么在命令中没有提到“speak.h“该文件(原因是:在“speak.cpp“中包含有”#include”speak.h”“这句代码,它的意思是搜索系统头文件目录之前将先在当前目录中搜索文件“speak.h“。而”speak.h“正在该目录中,不用再在命令中指定了)。
linux g++ gcc编译c++哪个好,linux g++编译c++相关推荐
- linux g 编译目录下,你真的了解Linux下gcc编译器的工作过程吗?
小豆丁:老张!老张! 老张:干嘛? 小豆丁:咋啦?愁眉苦脸的,是不是又被媳妇给揍了? 老张:开玩笑,我在家那就是相当于老虎的存在,谁敢揍我! 媳妇:老张,你说啥?我没听清,你再说一遍? 老张:我是老虎 ...
- Linux系统安装gcc/g++详细过程
下载: http://ftp.gnu.org/gnu/gcc/gcc-4.5.1/gcc-4.5.1.tar.bz2 浏览: http://ftp.gnu.org/gnu/gcc/gcc-4.5.1/ ...
- Linux中gcc的编译、静态库和动态库的制作
欢迎大家关注笔者,你的关注是我持续更博的最大动力 Linux中gcc的编译.静态库.动态库 文章目录: 1 gcc的编译过程 1.1 gcc的编译过程 1.2 gcc的常用参数 2 gcc 静态库的制 ...
- Linux下gcc编译中关于头文件与库文件搜索路径相关问题
如何指定GCC的默认头文件路径 网上偶搜得之,以之为宝:) 原地址:http://blog.chinaunix.net/u/28781/showart.php?id=401631 ========== ...
- g++ linux 编译开栈_方舟编译器编译hello world踩坑全记录
闲来无事,看到方舟编译器完整开源,于是打算拿来试着编译一个东西来,接下来把踩过的一些坑记录一下. 参考文档 方舟编译器的官网是 OpenArkCompilerwww.openarkcompiler. ...
- linux下gcc的编译过程详解
Linux系统下的Gcc(GNU C Compiler)是GNU推出的功能强大.性能优越的多平台编译器,是GNU的代表作品之一.gcc是可以在多种硬体平台上编译出可执行程序的超级编译器,其执行效率与一 ...
- Linux下gcc/g++、make和cmake的区别
文本程序到可执行文件生成无论在什么平台大致分为以下几个部分: 1.用编辑器编写源代码,如.c文件. 2.用编译器编译代码生成目标文件,如.o. 3.用链接器连接目标代码生成可执行文件,如.exe ...
- 【Linux】gcc/g++
目录 一.概念 二.语法 三.动/静态库 四.关于文件名后缀问题 一.概念 gcc/g++是linux系统中的编译器,是一款软件.该软件只负责编译,与Windows下的vs系列的差别就是:vs系列是一 ...
- Linux里gcc编译过程分析和ELF文件格式学习
GCC编译器背后的故事及常用命令.了解ELF文件格式 前言 一.GCC简介 二.GCC背后的战友 1.Binutils 2.C运行库 三.GCC编译流程及对应命令 1.编译流程图及命令框图 2.实践操 ...
最新文章
- CCF个贷违约预测0.891的baseline代码分享
- java调用oracle删除,使用IDEA对Oracle数据库进行简单增删改查操作
- Win10自带的邮件客户端配置腾讯企业邮箱账号
- OpenCV 高级API:TextDetectionModel和TextRecognitionModel
- 微擎css使用php变量,$_Wamp;全局变量
- (转)淘淘商城系列——服务调用测试
- astr在python_python学习之初识字符串
- Excel Txt 字符集设置
- matplotlib中ion()和ioff()的使用
- git提交本地代码到新分支
- Ubuntu12.04 耳机无声 扬声器有声的解决
- Kubernetes证书类型和适用场景
- 绕x,y轴旋转曲面面积公式推导
- 如何刷微博,怎么刷微博下拉框,怎样刷微博相关搜索
- hp服务器960g固态硬盘,阿斯加特AS 960G SSD测评,这么便宜的大容量SSD你敢要吗
- 关联分析(Apriori算法) 面包 牛奶 尿布 啤酒 ...
- matlab grayslice,MATLAB图像处理函数汇总大全(2)
- 硬盘物理结构详细说明
- 启动AutoCAD Electrical提示“缺少缺少驱动程序AceRedist”的解决办法
- 设计模式之工厂方法模式---factory method