我无法理解可供我使用的不同编译器。
我主要是用Xcode来编写和编译,在Xcode的preferences里面,C++编译的选项都有:
C++语言方言:
C++ 标准库:
libc++(支持 C++11 的 LLVM C++ 标准库)
有人能解释一下 ^ 到底是什么吗?
我明白(如果我错了,请纠正我),苹果不再使用 Xcode 分发 GCC 而是使用 Clang?
如果是这样,那么为什么 Xcode 可以选择 GNU C++ 标准库?GNU 不制作 GCC 吗?
当我在本地终端中运行 C++ 代码时调用什么编译器g++ filename.cpp?
有没有办法确保这个g++“编译器”是最新的?
g++在终端中编译和使用 Xcode有什么区别?
另外,如果我尝试使用 Clang 运行 C++ 程序会有什么不同?
我的课程要求我们通过终端上的 ssh 在部门服务器的编译器上测试我们的程序。服务器是一台 Unix 机器,我知道它的编译器是 GNU 的 GCC 编译器,我们也使用g++. 这是否意味着g++我终端中的本地也是 GCC?
编辑:语法
1.
C++语言方言
C++98[-std=c++98] through C++14[-std=c++14]
GNU++98[-std=gnu++98] through GNU++14[-std=gnu++14]
Run Code Online (Sandbox Code Playgroud)
C++ 语言随着时间的推移而发展。这些是您可以使用的各种语言版本。如果你必须与旧的东西兼容,你可能会被迫使用旧的。否则,您可能不想使用最新的可用版本,即上面列表中的 c++14。14 代表 2014 年,98 代表 1998 年 - 它应该代表该标准版本被祝福的年份。
除了标准 C++ 之外,还有非标准扩展。Gnu 是编译器“制造商”,上面的“GNU”是 GNU 为特定文档版本指定的非标准扩展。
C++ 标准库:
libstdc++(GNU C++ 标准库) libc++(支持 C++11 的 LLVM C++ 标准库)
除了基础语言,标准库也是标准的一部分。这是标准库的两种不同实现。第一个是 GNU,第二个是 llvm。llvm 是不同的编译器制造商。
在 osx 上,您可能会使用 libc++,因为我相信 llvm 编译器(clang++)现在是那里的标准配置。如果需要,llvm 编译器将支持 gnu 扩展。你可能没有。只需使用默认版本的最新版本即可。
| 归档时间: |
|
| 查看次数: |
1342 次 |
| 最近记录: |