博客
关于我
OJ中G++与C++的区别
阅读量:652 次
发布时间:2019-03-15

本文共 827 字,大约阅读时间需要 2 分钟。

C++ 和 G++ 是 C++ 编程语言的两种不同的编译方式,这里从多个关键点分析它们的区别。

编译器的概念

  • C++: 代表使用 ANSI C++ 标准进行编译。
  • G++: 代表使用 GNU 编译器集合中的 C++ 编译器,这是开源编译器,广泛应用于嵌入式开发和个人项目。

开始时的选择

在在线评测站(OJ)中:

  • 选项 C++G++ 的唯一区别在于编译器的选择。
  • C++ 会使用标准的 ANSI C++ 进行编译。
  • G++ 则是原生于 GNU 项目的 C++ 编译器,被告知它是 Code::Blocks 的默认编译器。

编译时的差异

  • 优化技术:

    • G++ 有更多的优化选项,可以更好地针对特定代码进行优化。
    • 一些语句(如 a++++a)在 G++ 均表现一致,而使用 gcc 或者其他编译器可能会有不同。
  • 精度缺省

    • 长长类型 (long long): 在不同的编译器下可能需要不同的格式化标识符。

    • 双精度类型 (double):

      • 使用 scanf 时:%lf 对于双精度和 double 都适用。
      • 使用 printf 时:%f%lf 均适用于输出双精度数,但标准不符合,需注意区分。

      关于实数输入输出的推荐方式:| 输入方式 | 双精度数(double) | 最安全的选择 ||---------------------|----------------------|--------------|| scanf | %lf | %lf || printf | %f%lf | %lf || iostream | cout << num; | cout << num;|

  • 编译工具的选择影响

    • **G++ vs.'
    • **C++ vs.'
    • **gcc vs.'

    总结

    以上内容为为解决实践编程问题之围绕编译器选择的常见疑问所编写。

    注:以上内容在处理不同编译器选项及相关类型表示时提供了详细解释,有助于更好地理解不同编译器之间的差异。

    转载地址:http://pcfmz.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现2D变换算法(附完整源码)
    查看>>
    Objective-C实现3n+1猜想(附完整源码)
    查看>>
    Objective-C实现3n+1猜想(附完整源码)
    查看>>
    Objective-C实现9x9乘法表算法(附完整源码)
    查看>>
    Objective-C实现9×9二维数组数独算法(附完整源码)
    查看>>
    Objective-C实现A*(A-Star)算法(附完整源码)
    查看>>
    Objective-C实现A-Star算法(附完整源码)
    查看>>
    Objective-C实现abbreviation缩写算法(附完整源码)
    查看>>
    Objective-C实现ABC人工蜂群算法(附完整源码)
    查看>>
    Objective-C实现activity selection活动选择问题算法(附完整源码)
    查看>>
    Objective-C实现AC算法(Aho-Corasick) 算法(附完整源码)
    查看>>
    Objective-C实现adaboost算法(附完整源码)
    查看>>
    Objective-C实现Adler32算法(附完整源码)
    查看>>
    Objective-C实现AES算法(附完整源码)
    查看>>
    Objective-C实现AffineCipher仿射密码算法(附完整源码)
    查看>>
    Objective-C实现aliquot sum等分求和算法(附完整源码)
    查看>>
    Objective-C实现all combinations所有组合算法(附完整源码)
    查看>>
    Objective-C实现all permutations所有排列算法(附完整源码)
    查看>>
    Objective-C实现all subsequences所有子序列算法(附完整源码)
    查看>>
    Objective-C实现AlphaNumericalSort字母数字排序算法(附完整源码)
    查看>>