C++初学者指南第一步---1. C++开发环境设置

C++初学者指南第一步—1. C++开发环境设置

目录

  • C++初学者指南第一步---1. C++开发环境设置
    • 1.1 工具
      • 1.1.1 代码编辑器和IDE
      • 1.1.2 Windows
      • 1.1.3 命令行界面
    • 1.2 编译器
      • 1.2.1 gcc/g++ (支持Linux/Windows/MacOSX)
      • 1.2.2 clang/clang++ (支持Linux/Windows/MacOS)
      • 1.2.3 Microsoft Visual Studio
      • 1.2.4 浏览器里的编译器
        • [Compiler Explorer](https://godbolt.org/)
        • Wandbox

1.1 工具

建议:从文本编辑器+命令行编译器开始
但是…一旦您知道 C++ 构建过程的工作原理,并且知道如何在命令行上使用编译器,您应该考虑为更大的项目切换到 IDE。

1.1.1 代码编辑器和IDE

今天Visual Studio Code 可能是初学者的最佳选择之一。它有一个漂亮的用户界面,提供了一些基本的IDE功能,如完成并跳转到定义,甚至还有一个 VIM 插件这是高度可配置的。

Visual Studio Code具有一些 IDE 功能的编辑器支持Linux/Windows/MacOS
Linux 安装 Windows+WSL 安装
VIM非常强大的编辑器 - 需要一些学习支持Linux/Windows/MacOS
可在终端内部使用
Qt CreatorIDE – 非常适合初学者支持Linux/Windows/MacOS
Embarcadero Dev-C++IDE – 适合初学者;快速简单设置支持Windows
Microsoft Visual StudioIDE – 对于初学者来说可能会让人不知所措支持Windows/MacOS
JetBrains CLionJetBrains CLionIDE – 对于初学者来说可能会让人不知所措支持Linux/Windows/MacOS
  • 更多编辑器…
  • 更多IDE…

1.1.2 Windows

如果您使用 Windows 10/11,我强烈建议使用 适用于Linux的Windows子系统 (WSL)它基本上为您提供了一个成熟的Linux 命令行环境。
大多数学习资源,尤其是在C++世界中,都假设使用 Linux 环境。 如果你想从事软件开发工作,无论如何,肯定需要熟悉Linux。

  • WSL 安装说明
  • 在WSL上为C++设置VsCode
  • Windows终端入门

1.1.3 命令行界面

如果您从未使用过命令行界面,您应该真正开始学习一些基础知识。不需要太多,创建文件夹,移动/复制/删除文件,以及编译并运行您的第一个简单C++程序。

  • 介绍性讲座
  • 面向初学者的 Linux 命令行
  • 命令行速成课程
  • 命令行简介
  • 学习足够的命令行会变得危险
  • Bash 备忘单

1.2 编译器

1.2.1 gcc/g++ (支持Linux/Windows/MacOSX)

GNU/Linux世界的默认设置,非常成熟。

  • Ubuntu / Windows + WSL (Windows Subsystem for Linux)安装
$ sudo apt install -y g++
$ sudo apt install -y build-essential
  • 不带WSL的Windows
    WinLibs项目(推荐)
    MinGW项目(截至 2021 年已过时)
    Dev-C++附带了一个捆绑的gcc(对于完全的初学者来说,这可能是最简单的选择)
  • Mac OS X 安装
$ brew install gcc

1.2.2 clang/clang++ (支持Linux/Windows/MacOS)

  • Ubuntu / Windows 10 + WSL 安装
$ sudo apt install -y clang++
$ sudo apt install -y build-essential
  • 没有WSL的Windows
    适用于 Windows 的 Clang 预构建二进制文件

1.2.3 Microsoft Visual Studio

Microsoft Visual Studio免费社区版

1.2.4 浏览器里的编译器

Compiler Explorer
  • 通过许多不同的编译器运行代码
  • 非常适合快速测试
  • 许多具有许多不同版本的编译器,也具有实验性功能
  • 提供几个流行的库
  • 出色的文本编辑器,具有多个光标、VIM 模式、深色模式……
  • 显示了带有很好注释的汇编代码
Wandbox
  • 通过不同的编译器运行代码
  • 非常适合快速测试
  • 控制台输入输出窗口

附上原文链接

翻译整理不易,如果文章对您有用请随手点个赞,谢谢!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/714101.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C/C++李峋同款跳动的爱心代码

一、写在前面 在编程的世界里,代码不仅仅是冷冰冰的命令,它也可以成为表达情感、传递浪漫的工具。今天,就让小编带着大家用C语言打造出李峋同款跳动的爱心吧! 首先,我们需要知道C作为一种高级编程语言,拥…

常见的宽基指数基金

指数基金投资指南 ❝ 这篇博客里面的内容主要来自于银行螺丝钉的《定投十年,财务自由》和《指数基金投资指南》这两本书中章“常见的宽基指数”,最近第三次读这本书,打算做一点笔记加深自己的印象。 博客中很多内容是从书中摘抄的&#xff0c…

二十六、办公用品管理系统

随着计算机技术的迅猛发展,相关技术进入商业和社会应用阶段,设备的种类、数量越来越多,如何有效利用先进的互联网技术和日新月异的计算机设备来有效地收集、处理这些设备,建立以信息化为核心的管理体制,减轻管理人员和业务人员的数据处理负担,极大地提高设备管理效率和管…

Jmeter多个请求按照比例并发压测的几种方式

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 一、需求 在压测的过程中,为了能够压测整个链路,通常需要多个接口进行并…

HarmongOS打包[保姆级]

创建应用 首先进入 华为开发者联盟-HarmonyOS开发者官网 然后进行登录。 登录成功后,鼠标悬停在在登录右上角那个位置后再点击管理中心,进入下面这个界面。 再点击:应用服务–>应用发布–>新建–>完善信息 构建和生成私钥和证书请求…

SQL Server Management Studio (SSMS) 20.1 - 微软数据库管理工具

SQL Server Management Studio (SSMS) 20.1 - 微软数据库管理工具 请访问原文链接:https://sysin.org/blog/ssms/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org 笔者注:SQL Server 2014 及之前版本内置…

[Linux] UDP协议介绍:UDP协议格式、端口号在网络协议栈那一层工作...

TCP/IP网络模型, 将网络分为了四层: 之前的文章中以HTTP和HTTPS这两个协议为代表, 简单介绍了应用层协议. 实际上, 无论是HTTP还是HTTPS等应用层协议, 都是在传输层协议的基础上实现的 而传输层协议中最具代表性的就是: UDP和TCP协议了. 以HTTP为例, 在使用HTTP协议通信之前, …

调度算法(SSTF,SCAN,CSCAN)c语言

假定当前磁头位于100号磁道,有9个进程先后提出了磁盘I/O请求:55 58 39 18 90 160 150 38 184,如果采用扫描算法或循环扫描算法,则磁头向磁道号增加的方向访问。 设计一个磁盘调度模拟系统,编程序演示下述算法的具体实…

线程池ThreadPoolExecutor源码分析

一、线程池基本概念和线程池前置知识 1.1 Java中创建线程的方式有哪些 传统答案: 继承Thread类 通过继承Thread类并重写其run方法来创建线程。具体步骤包括定义Thread类的子类,在子类中重写run方法以实现线程的具体逻辑,然后创建子类的实例…

举例说明 如何通过SparkUI和日志定位任务莫名失败?

有一个Task OOM: 通过概览信息,发现Stage 10的Task 36失败了4次导致Job失败。概览信息中显示最后一次失败的退出代码(exit code)是143,意味着发生了内存溢出(OOM,即Out of Memory)。…

QQ登录测试用例

QQ登录测试用例 常见测试方法&#xff08;可参考软件测试<用例篇>&#xff09; 等价类&#xff1a; 1、有效等价类 &#xff1a;满足需求的数据集合 2、无效等价类&#xff1a;不满足需求的数据集合 边界值错误猜测法场景法 QQ测试用例设计&#xff1a;xmind 需要完整…

C++ 55 之 多继承

#include <iostream> #include <string> using namespace std;class Base08_1{ public:int m_a;Base08_1(){this->m_a 10;} };class Base08_2{ public:// int m_b;int m_a;Base08_2(){// this->m_b 20;this->m_a 30;} };// 多继承 继承的类型都要…

九、BGP路由属性和选路

目录 一、属性分类 1.1、公认属性 1.2、可选属性 二、选路原则 0、丢弃不可达 取值越大越优 1、Preferred-Value 2、Local_Preference 取值越小越优 3、路由优先级 4、AS_Path 5、Origin 6、MED 7、路由来源 8、Next_Hop的IGP度量值 BGP路由等价负载分担&#…

流媒体传输协议HTTP-FLV、WebSocket-FLV、HTTP-TS 和 WebSocket-TS的详细介绍、应用场景及对比

一、前言 HTTP-FLV、WS-FLV、HTTP-TS 和 WS-TS 是针对 FLV 和 TS 格式视频流的不同传输方式。它们通过不同的协议实现视频流的传输&#xff0c;以满足不同的应用场景和需求。接下来我们对这些流媒体传输协议进行剖析。 二、传输协议 1、HTTP-FLV 介绍&#xff1a;基于 HTTP…

雷击保险丝选取

雷击保险丝的估算方法&#xff1a; 1、雷击浪涌实验规定的差模内阻是 2欧姆&#xff1a;(一般差模都是2欧姆) 2、差模雷击浪涌实验等级的确定。 3、差模雷击L-N防雷电路的确定&#xff08;估算防雷电路的钳位电压&#xff09;。 4、估算防雷电路中保险丝的 I^2t 的值来确定…

如何从索尼存储卡恢复数据?

Sony 存储卡广泛用于在数码相机、数码摄像机等中存储照片和视频。如果您从 Sony 存储卡中删除重要数据而未备份&#xff0c;您仍然可以找回丢失的数据。实际上&#xff0c;已删除的视频/照片或文档不会永远丢失&#xff0c;它们仍存储在 Sony 存储卡上&#xff0c;可以通过数据…

计算机组成原理之定点乘法运算

文章目录 原码并行乘法与补码并行乘法原码算法运算规则存在的问题带符号的阵列乘法器习题原码阵列乘法器间接补码阵列乘法器直接补码阵列乘法器 补码与真值的转换 原码并行乘法与补码并行乘法 原码算法运算规则 存在的问题 理解流水式阵列乘法器&#xff08;并行乘法器&#x…

会声会影色彩校正在哪里 会声会影色彩素材栏在哪 会声会影中文免费版下载

会声会影是一款功能强大的视频编辑软件&#xff0c;它可以帮助用户轻松地编辑和制作视频。在进行视频编辑时&#xff0c;色彩校正是一个重要的步骤&#xff0c;它可以调整视频的色调、亮度和对比度等参数&#xff0c;使视频更加生动和鲜明。在会声会影中&#xff0c;色彩校正功…

C#(C Sharp)学习笔记_封装【十八】

什么是封装&#xff1f; 封装是面向对象思维的三大特性之一。封装是将数据和对数据进行操作的函数绑定到一起的机制。它隐藏了对象的内部状态和实现细节&#xff0c;只对外提供必要的接口&#xff0c;从而确保对象内部状态的完整性和安全性。封装的主要目的是增强安全性和简化…

【教学类-64-02】20240610色块眼力挑战(二)-2-25宫格色差10-100(10倍)(星火讯飞)

背景需求 以下的色块眼里挑战需要人工筛选图片&#xff0c;非常繁琐。 【教学类-64-01】20240607色块眼力挑战&#xff08;一&#xff09;-0-255随机底色-CSDN博客文章浏览阅读446次&#xff0c;点赞12次&#xff0c;收藏5次。【教学类-64-01】20240607色块眼力挑战&#xff…