当前位置: 首页 > news >正文

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
  • 通过不同的编译器运行代码
  • 非常适合快速测试
  • 控制台输入输出窗口

附上原文链接

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

相关文章:

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

C初学者指南第一步—1. C开发环境设置 目录 C初学者指南第一步---1. C开发环境设置1.1 工具1.1.1 代码编辑器和IDE1.1.2 Windows1.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…...

二维数组与指针【C语言】

二维数组与指针 一维数组一维数组与指针二维数组二维数组与指针总结补充判断以下方式是否正确打印二维数组一维数组 int arr[] = {11, 22, 33, 44};arr:首地址(第一个元素的地址) 一维数组与指针 int arr[] = {11, 22, 33, 44};因为,arr表示的是首地址,等价于 int* p =…...

解决linux下安装apex库报错:ModuleNotFoundError: No module named ‘packaging‘

使用如下命令安装apex: git clone https://github.com/NVIDIA/apex cd apex pip install -v --disable-pip-version-check --no-cache-dir --global-option"--cpp_ext" --global-option"--cuda_ext" ./ 报错: Running command py…...

React基础教程(07):条件渲染

1 条件渲染 使用条件渲染,结合TodoList案例,进行完善,实现以下功能: 当列表中的数据为空的时候,现实提示信息暂无待办事项当列表中存在数据的时候,提示信息消失 这里介绍三种实现方式。 注意这里的Empty是…...

回归预测 | Matlab实现NGO-HKELM北方苍鹰算法优化混合核极限学习机多变量回归预测

回归预测 | Matlab实现NGO-HKELM北方苍鹰算法优化混合核极限学习机多变量回归预测 目录 回归预测 | Matlab实现NGO-HKELM北方苍鹰算法优化混合核极限学习机多变量回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现NGO-HKELM北方苍鹰算法优化混合核极限…...

操作系统——信号

将信号分为以上四个阶段 1.信号注册:是针对信号处理方式的规定,进程收到信号时有三种处理方式:默认动作,忽略,自定义动作。如果不是自定义动作,这一步可以忽略。这个步骤要使用到signal/sigaction接口 2.…...

力扣1482.制作m束花所需的最少时间

力扣1482.制作m束花所需的最少时间 二分答案 check的时候 用一个bool数组判断是否开花找连续的k朵花 const int N 1e510;int st[N];class Solution {public:int minDays(vector<int>& bloomDay, int m, int k) {int n bloomDay.size();if(n < (long long)m*…...

解决 Linux 和 Java 1.8 中上传中文名称图片报错问题

在 Linux 系统和 Java 1.8 中&#xff0c;当尝试上传含有中文名称的图片时&#xff0c;可能会遇到以下错误提示&#xff1a; Caused by: java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: /home/uploadPath/2024/06/12/扣子蝴蝶…...

cocos开发的时候 wx.onShow在vscode里面显示红色

这个函数是在微信小游戏平台才会用到。 cocos识别不到wx这个变量。 可以改成下面的写法。 只要在变量前面加一个globalThis.就能识别这个变量了。也不报错了。 搞死强迫症了。orz 欢迎大家来玩我的微信小游戏。多多提意见啊。...

使用 PNPM 从零搭建 Monorepo,测试组件并发布

1 目标 通过 PNPM 创建一个 monorepo&#xff08;多个项目在一个代码仓库&#xff09;项目&#xff0c;形成一个通用的仓库模板。 这里以在该 monorepo 项目中搭建 web components 类型的组件库为例&#xff0c;介绍从仓库搭建、组件测试到组件发布的整个流程。 这个仓库既可…...

Oracle 19C 数据库表被误删除的模拟恢复

Oracle 19C 数据库表被误删除的模拟恢复操作 1、模拟创建表用于恢复测试 sqlplus zzh/zzh SQL> create table obj_tb tablespace users as select * from dba_objects; Table created. SQL> select count(*) from obj_tb; COUNT(*) ---------- 72373 2、记录当前…...

【CICID】GitHub-Actions语法

[TOC] 【CICID】GitHub-Actions语法 1 场景 ​ 当我们开发过程中&#xff0c;经常需要提交代码&#xff0c;打包&#xff0c;部署新代码到对应的环境&#xff0c;整个过程都是人工手动操作&#xff0c;占据开发人员大量时间&#xff0c;并且很繁琐容易出错。所以需要借助一些…...

Ionic 创建 APP

Ionic 创建 APP Ionic 是一个强大的开源框架,用于构建高性能、高质量的移动和网页应用程序。它结合了 Angular、React 或 Vue 的强大功能,以及 Capacitor 或 Cordova 的原生功能,使得开发者可以轻松地创建跨平台的应用程序。本篇文章将指导您如何使用 Ionic 创建一个基本的…...

【数学代码】幂

Hello!大家好&#xff0c;我是学霸小羊&#xff0c;今天来讲讲幂。 求几个相同因数的积的运算&#xff0c;叫做乘方&#xff0c;乘方的结果叫做幂。 a^n&#xff0c;读作 “ a的n次方 ” 或 “ a的n次方幂”&#xff0c;a叫做底数&#xff0c;n叫做指数。 对于底数、指数和幂…...

os.system() 函数

os.system() 是 Python 标准库 os 模块中的一个函数&#xff0c;用于在子终端中运行系统命令。它可以在 Python 脚本中调用外部命令或程序。具体来说&#xff0c;它通过执行命令字符串并返回执行状态来实现这一点。下面是对 os.system() 函数的详细解释&#xff1a; import os…...

Spring Boot中的RESTful API详细介绍及使用

在Spring Boot中&#xff0c;RESTful API的实现通过控制器类中的方法和特定的注解来完成。每个注解对应不同的HTTP请求方法&#xff0c;并通过处理请求参数和返回响应来实现不同的操作。 下面将详细解释RESTful API中的各个方面&#xff0c;包括GetMapping, PostMapping, PutMa…...

nlp学习笔记

目录 很多入门例子 bert chinese 很多入门例子 https://github.com/lansinuote/Huggingface_Toturials bert chinese import torch import torch.nn as nn from transformers import AutoTokenizer, AutoModel, BertModel, TFBertModel, BertTokenizer# youpath = D:/bert-…...

使用python获取内存信息

#!/usr/bin/python # -*- coding:utf-8 -*- psutil模块是一个跨平台的获取进程和系统应用情况&#xff08;CPU&#xff0c;内存&#xff0c;磁盘&#xff0c;网络&#xff0c;传感器&#xff09;的库。 该模块用于系统监控、限制进程资源和运行进程的管理等方面。 内存信息&am…...

外包公司泛滥,这些常识你应该提前知道?

今年大环境确实很不好 很多985,211的应届生都在网上大吐苦水&#xff0c;很多大龄离职大厂的技术人也好&#xff0c;业务人也好&#xff0c;都纷纷转向短视频平台做起了自媒体。而找工作的人普遍发现&#xff0c;某最火的招聘平台几乎都被外包公司刷屏了。大大小小的外包公司如…...

Linux下的抓包工具使用介绍

应用层 传输层 网络层 数据链路层 物理层 1&#xff09;tcpdump&#xff08;传输&#xff0f;网络层&#xff09; tcpdump -i eth0 tcpdump -i eth0 -vnn -v&#xff1a;显示包含有TTL&#xff0c;TOS值等等更详细的信息 -n&#xff1a;不要做IP解析为主机名 -nn&#xff1a;…...

教育资源共享新范式:智能解析技术如何重塑教材获取体验

教育资源共享新范式&#xff1a;智能解析技术如何重塑教材获取体验 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具&#xff0c;帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载&#xff0c;让您更方便地获取课本内容。 项目地址…...

Windows 10/11 下 Node.js 安装踩坑实录:为鸿蒙HarmonyOS开发扫清环境障碍

Windows 10/11 下 Node.js 安装踩坑实录&#xff1a;为鸿蒙HarmonyOS开发扫清环境障碍 当你在Windows系统上准备搭建鸿蒙HarmonyOS开发环境时&#xff0c;Node.js的安装往往是第一个拦路虎。不同于官方文档中"下一步到底"的理想化流程&#xff0c;真实场景中你会遇到…...

FanControl完全指南:Windows系统风扇智能控制从零到精通

FanControl完全指南&#xff1a;Windows系统风扇智能控制从零到精通 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/…...

Smarty 模板中实现多维数组按字段分组并拼接值的完整方案

...

5分钟搞定Windows风扇控制:FanControl让你的电脑散热更智能更安静

5分钟搞定Windows风扇控制&#xff1a;FanControl让你的电脑散热更智能更安静 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_…...

三步解决Zotero中文文献管理难题:茉莉花插件完整指南

三步解决Zotero中文文献管理难题&#xff1a;茉莉花插件完整指南 【免费下载链接】jasminum A Zotero add-on to retrive CNKI meta data. 一个简单的Zotero 插件&#xff0c;用于识别中文元数据 项目地址: https://gitcode.com/gh_mirrors/ja/jasminum 你是否在使用Zot…...

告别编译迷茫:手把手教你读懂UEFI固件开发中的DSC文件(以EDK2 vUDK2018为例)

告别编译迷茫&#xff1a;手把手教你读懂UEFI固件开发中的DSC文件&#xff08;以EDK2 vUDK2018为例&#xff09; 当你第一次打开EDK2项目中的DSC文件时&#xff0c;是否被那些看似杂乱无章的配置项和宏定义搞得晕头转向&#xff1f;作为UEFI固件开发的核心配置文件&#xff0c;…...

基于本地AI的语音转文字工具OpenWhisp:隐私优先的离线生产力方案

1. 项目概述&#xff1a;一个完全本地的语音转文字工具 作为一个长期在效率工具和本地AI应用领域折腾的开发者&#xff0c;我一直在寻找一个能让我彻底摆脱网络延迟和隐私顾虑的语音输入方案。市面上的云服务要么有订阅费&#xff0c;要么有数据上传的隐忧&#xff0c;直到我看…...

解决Modelsim SE 10.6c仿真Vivado 2019乘法器IP核的“.vhd only”难题(附完整脚本)

解决Modelsim SE 10.6c仿真Vivado 2019乘法器IP核的“.vhd only”难题&#xff08;附完整脚本&#xff09; 在FPGA设计流程中&#xff0c;Xilinx Vivado与Mentor Modelsim的组合是许多工程师的首选工具链。但当Vivado 2019生成的乘法器IP核仅提供VHDL接口文件(.vhd)时&#xff…...

3步完成微信聊天记录永久备份:开源工具WeChatExporter终极指南

3步完成微信聊天记录永久备份&#xff1a;开源工具WeChatExporter终极指南 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter WeChatExporter是一款专为Mac用户设计的开源工…...