【问题标题】:Difference between gcc compile options std=c++1y and std=c++14gcc 编译选项 std=c++1y 和 std=c++14 的区别
【发布时间】:2015-05-03 17:01:24
【问题描述】:

我安装了 gcc 4.9.2。我使用以下命令编译了程序:

/root/gcc-4.9.2/bin/g++ -std=c++1y testing.cpp

请注意,除了选项-std=c++1y,还有另一个选项-std=c++14。编译器会以相同的方式工作并为两个选项生成完全相同的可执行文件吗?

【问题讨论】:

标签: c++ gcc c++14


【解决方案1】:

C++ 14 是最新的 ISO 标准,除非您需要一些 gcc 非标准功能,否则应该使用它。

c++1y 是在完成之前用于指代 c++14 标准的名称,因此它很可能遵循标准草案,而不是实际标准本身。两者之间可能存在一些细微差别,但c++14 是 ISO 标准。

简而言之,使用c++14

【讨论】:

    【解决方案2】:

    如果您提到 gcc 4.9.2,c++14c++1y 之间没有区别。但是对于早期的 gcc 版本,例如gcc 4.8.1 有no c++14 option

    g++: error: unrecognized command line option '-std=c++14'
    

    因为尚不知道标准验收的年份。在这种情况下,使用-std=c++1y 选项是only solution 来启用即将到来的c++14 标准的某些部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-07
      • 2018-05-12
      • 2021-10-26
      • 2019-06-06
      • 1970-01-01
      • 2015-10-27
      • 2016-07-14
      • 1970-01-01
      相关资源
      最近更新 更多