RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1444086
Accepted
Дмитрий Краснов
Дмитрий Краснов
Asked:2022-08-30 17:34:43 +0000 UTC2022-08-30 17:34:43 +0000 UTC 2022-08-30 17:34:43 +0000 UTC

如何正确安装 C++?

  • 772

决定学习C++。但是我遇到了一个问题:没有官方编译器。当我学习 Go 时,我只需要从 go.dev 站点下载一个安装程序,单击几下即可安装 Go。但是C++……网上有很多不同的选择:G++ MSYS2、Clang、Qt和Visual Studio中的内置编译器等等。

实际上,这是我的问题:如何正确安装 C++?

c++
  • 1 1 个回答
  • 116 Views

1 个回答

  • Voted
  1. Best Answer
    S.H.
    2022-08-30T18:01:25Z2022-08-30T18:01:25Z

    但是我遇到了一个问题:没有官方编译器

    我认为您不需要官方编译器来学习一门语言。平均而言,实现一种语言标准的多个编译器是该语言工作的大量平台的代价,并且是长期的历史遗产。同时,由于这种多样性,它支持某种“内部竞争”,标准的新元素在不同的编译器中快速实现。

    对于语言学习,在我看来,谈论可以解决学习问题的“最小工具集”是有意义的。

    当训练任务结束,你将面临“战斗”任务,那么你已经有足够的经验为他们挑选一套工具(嗯,我们知道很有可能——这将是 GCC 编译器) .

    如果您使用 Windows,那么您有两个明显的选择:Visual Studio或Visual Studio Code + MSYS2。

    我有关于如何设置此组合的答案。

    如果你在 Mac 上,那里有一个很棒的 Clang,还有来自 JetBrains(确切地说是 CLion)作为 IDE 的东西。好吧,或者再次,VSC。

    对于 linux - 选择范围很广,但您似乎无法摆脱 GCC + VSC :-)。

    尽管我发表了恶毒的评论,但我还是决定详细写下“为什么会这样?”。

    关键是 Go 和 C++ 是用于稍微不同的事物的工具。对于一些不同的东西。

    从某种意义上说,Go 就是这样一个“最小的 java”。非常简单的语言,你写 - 几乎在虚拟机下。基本上你写的是休息服务,但你可以写一些与更高效的protobuff协议相关的东西,然后你得到“几乎实时的”(好吧,如果垃圾收集器没有来:-))。

    图形艺术?- 不,他们没有。

    图书馆?- 在这里我们有一个quat lib,所有银行家都喜欢它......

    简而言之,Go 是一门非常年轻的语言,它设法“控制一切”,并且与该语言相关的一切都以“贫穷但干净”的风格完成。

    是好还是坏?

    如果它是一种你开始熟悉的语言,那就太棒了。当您不想打扰细节时,这非常非常方便。记忆模型?- 不,我们不知道。线程还是绿色线程?- 我不知道!这是我们拥有的——我们将使用它们,此外,我们仍然拥有协程上的所有内容。它是如何在那里编译的,进入哪个处理器的命令,它会吞噬多少内存?好吧,你不能马上说出来:-)。

    与 Go 不同,C++ 是一个不可思议的怪物。

    它拥有一切,并且有多种选择。此外,如果某些选项不适合您,您可以稍微移动一下手(嗯,在那里半年,一年 - 最多 :-) 小便。) 制作自己版本的一些狡猾的分配器或令人难以置信的智能指针。

    图形艺术?适用于哪个平台?所有游戏要么是他们的引擎,要么是 Unreal(同样,C++ 的耳朵从那里伸出来),要么是一个范围不是很广的 Unity 3D,但这已经在 C# 平台下。

    一块将飞入太空的铁的装载机?是的,这里是库,这里是参考代码,这里是使用闪存驱动器的指南。不要忘记添加这些编译器标志。

    正是因为这种“空旷的宽度”,才没有单一的方式来安装和操作C++。因为需要一件事来解决奥林匹克问题,组装核心 - 有点不同,并且对于游戏代码的专业工作 - 一般来说,第三个。

    并且花费了非常非常长的时间来掌握该过程中使用的工具。包管理器、构建系统、IDE、寻找内存泄漏的系统、自动测试等等……我怀疑这些工具中的许多根本不存在于 Go 中——例如,因为它们不需要。

    • 10

相关问题

  • 编译器和模板处理

  • 指针。找到最小数量

  • C++,关于枚举类对象初始化的问题

  • 函数中的二维数组

  • 无法使用默认构造函数创建类对象

  • C++ 和循环依赖

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5