我可以使用gcc编译C ++程序吗?使用g ++有什么不同吗?
在exisitng系统上,我输入“man g ++”,系统返回“没有手动输入g ++”。但它安装了gcc。是否可以直接从现有的gcc库安装g ++;或者我必须下载g ++?
答案 0 :(得分:2)
在大多数系统上,您需要安装g++
(以及libstdc++
等)来编译C ++代码。
gcc
是一个可以指示编译C ++的前端,但不推荐使用。使用g++
也可以添加C ++库等。
/tmp$ cat hw.cc
#include <iostream>
int main(void) {
std::cout << "Hello, world\n" << std::endl;
}
$ g++ -o hw1 hw.cc
$ gcc -o hw2 hw.cc -lstdc++
$ ./hw1
Hello, world
$ ./hw2
Hello, world
$
仅仅因为你可以使用gcc
并不意味着你应该这样做。
答案 1 :(得分:2)
只要您设置正确的标志和/或在源文件上使用正确的扩展名(即使用gcc
),就可以使用.cpp
来编译C ++程序,但这只是在已安装了c ++开发工具,例如libstdc ++ ......这通常意味着g++
也可用。因此,如果您没有安装C ++开发工具和库,那么不,您将无法编译C ++文件,特别是如果您开始使用STL中的元素等。
话虽这么说,如果你将C ++源代码限制为该语言的严格C子集,那么我不明白为什么它不能编译......但这会破坏使用C ++的全部意义首先......它只是一个带有.cpp
扩展名的C文件: - )
如果你在Linux上,那么安装g ++是相当简单的。只需使用apt-get
,yum
或其他一些包管理器在存储库中搜索g ++,它应该是一个很好的预编译二进制文件,以及它的所有依赖项。如果您使用的是OSX,那么它随附Xcode开发人员工具。如果你在Windows上,那么你可以使用MinGW-w64,再次使用x86_64的预编译二进制文件,或者你可以使用Cygwin附带的版本(你没有提到你的平台,所以它是可能的你可以在Windows上运行Cywin)。为此,只需再次使用Cygwin包管理器。
答案 2 :(得分:0)
g ++是gcc的扩展。你需要安装g ++特定的部分才能编译c ++程序。