G 编译器与C 的GCC编译器相同?(Mac OS X)

Is g++ compiler the same with the gcc compiler for C++? (Mac OS X)

本文关键字:编译器 Mac OS GCC      更新时间:2023-10-16

我只需要清楚一件事。在大学中,我们正在学习C 编程语言,他们建议我们使用GCC一部分的GNU C 编译器。因此,在我的Mac OS X Mavericks上,我从developer.apple.com下载了命令行工具。我编写了一个简单的C 程序,并使用这样的G 命令编译了此程序:

g++ program.cpp
./a.out

,该程序运行完美。但是,如我所知,使用不同的编译器,意味着您必须使用正确的语法/命令/库为此Spesific编译器,因此,在大学中,我们使用" GNU C 编译器",我只想用G 命令是指我使用" GNU C 编译器"。

欢呼。

传统上,gccg++都是GNU C编译器套件的组成部分。gcc是C编译器,g++是C 编译器。

在当前版本的Mac OS X上,命令gccg++都被视为clangclang++的替代名称,它们是Clang C编译器的组件。但是,该编译器几乎与GCC完全兼容 - 实际上确实存在的一些差异在您正在进行的课程中不会出现。

(最重要的区别是Clang的诊断要好得多:它将准确地指出一条线路中的语法错误在哪里发生,而不仅仅是它的线条,并且通常可以在情况下识别潜在的错别字或细微错误gcc只会给您一个隐秘的错误消息。如果您只是学习C,您将欣赏此很多。)

根据@duskwuff,我更喜欢使用 clang++,但是,如果您必须兼容,则可以通过MacPorts安装真实的GNU编译器。p>安装Macports(包括xcode-select步骤)后,只需做:

$ sudo port selfupdate
$ sudo port install gcc46

(或gcc47等)

编译器将在您的$PATH中(如果正确设置Macports),但是明确地将是/opt/local/bin/gcc46(请参阅sudo port select gcc)。