博客
关于我
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/

    你可能感兴趣的文章
    Python set([]) 如何检查两个对象是否相等?一个对象需要定义哪些方法来自定义它?
    查看>>
    Python setup.py:数据文件无法复制目录:不存在或不是常规文件
    查看>>
    Python Shell下使用matplotlib
    查看>>
    Python Slice How-to,我知道Python Slice,但我怎么才能使用内置的Slice对象呢?
    查看>>
    Python UI自动化测试集成UnitTest
    查看>>
    Python UTC 日期时间对象的 ISO 格式不包括 Z(祖鲁语或零偏移)
    查看>>
    python valueerror object2_python遇到错误记录
    查看>>
    python vars的作用
    查看>>
    Python virtualenv
    查看>>
    python vue3实现大文件分段续传(断点续传)--带暂停和继续功能
    查看>>
    Python WebDriver如何打印整个页面源(html)
    查看>>
    Python WebSocket自动化测试:构建高效接口测试框架
    查看>>
    Python Web开发
    查看>>
    Redis 配置文件杂项。
    查看>>
    Python web自动化测试 —— 文件上传
    查看>>
    Python web自动化测试 —— 文件上传!
    查看>>
    Python Web自动化测试开发环境搭建(附安装包与虚拟机环境)
    查看>>
    python win32api键盘_Python win32api.keybd_event模拟键盘输入
    查看>>
    python Windows显示当前鼠标坐标
    查看>>
    python Workbook 表格宽度
    查看>>