安装 Microsoft Visual C++ Build Tools

安装 Microsoft Visual C++ Build Tools

Microsoft Visual C++ Build Tools下载安装

安装Microsoft Visual C++ Build Tools是为了在windows系统上编译和运行需要C++支持的程序或库(例如某些Python包,Node.js模块等)。

1.下载

打开浏览器,访问 Visual Studio Build Tools下载页面

在这里插入图片描述


在页面上找到“下载”按钮,点击下载 Build Tools for Visual Studio 的安装程序(vs_BuildTools.exe)。

在这里插入图片描述

2. 安装

双击下载好的软件(vs_BuildTools.exe)。

在这里插入图片描述


点击继续。

在这里插入图片描述


等待下载安装。

在这里插入图片描述


在安装Visual Studio Build Tools的时候,选择“C++生成工具”工作负载。确认以下选项被选中:

  1. MSVC v142 - VS 2019 C++ x64/x86构建工具(或最新版本)

Windows 10 SDK(或您对应Windows系统的SDK)

在这里插入图片描述
可以根据需要选择其他的选项,但上述两个是必须的。

点击“安装位置”,对vs的安装位置进行更改。

注意右下角的安装大小,虽然已经把能改位置的都改到非C盘了,但是vs有些东西还是必须默认安装在C盘,所以请注意一下你的C盘是否够用。
在这里插入图片描述


点击右下角的安装,然后等待安装完成。

在这里插入图片描述


安装完成。

在这里插入图片描述

3. 配置环境变量

  • 确保路径中包含类似 C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\<版本号>\bin\Hostx64\x64 的路径。

没有的话可以进行添加。

在这里插入图片描述

在“系统变量”中找到名为 Path 的条目,双击以编辑。

在这里插入图片描述

点击“高级系统设置”,然后点击“环境变量”。

在这里插入图片描述

右键点击 “此电脑” 或 “我的电脑”,选择“属性”。

在这里插入图片描述
安装完成后,重启你正在使用的命令提示符或终端,以便新的环境变量生效。

在cmd命令行中,输入cl,进行验证。

在这里插入图片描述

参考

  1. Microsoft C++生成工具
  2. 【Python】ERROR: Failed to build installable wheels for some pyproject.toml based projects
  3. 安装 Microsoft Visual C++ Build Tools
  4. Visual Studio(vs)下载安装C/C++运行环境配置和基本使用注意事项
  5. 在 Visual Studio 中安装 C 和 C++ 支持
  6. 怎么安装安装 Microsoft C++ Build Tools

Read more

C++ 多态:面向对象的动态行为核心机制

C++ 多态:面向对象的动态行为核心机制

C++ 多态:面向对象的动态行为核心机制 💡 学习目标:掌握多态的概念与分类,理解虚函数的作用原理,能够熟练使用多态实现程序的动态行为扩展。 💡 学习重点:静态多态与动态多态的区别、虚函数的定义与使用、纯虚函数与抽象类、多态的实战应用场景。 一、多态的概念与分类 ✅ 结论:多态是 C++ 面向对象三大特性之一,指同一行为在不同对象上表现出不同的形态,核心是“一个接口,多种实现”。 多态主要分为两大类,二者的实现原理和触发时机截然不同: 1. 静态多态:编译阶段确定调用关系,也叫编译时多态,实现方式包括函数重载和运算符重载 2. 动态多态:运行阶段确定调用关系,也叫运行时多态,实现方式是虚函数 + 基类指针/引用 生活中的多态示例:同样是“动物叫”这个行为,猫的叫声是“喵喵喵”,狗的叫声是“汪汪汪”,不同动物对象表现出不同的行为形态。 二、静态多态:编译时确定的多态性 💡 静态多态的调用关系在编译阶段就已确定,编译器会根据参数列表的差异匹配对应的函数。

By Ne0inhk
C++ 多线程同步之互斥锁(mutex)实战

C++ 多线程同步之互斥锁(mutex)实战

C++ 多线程同步之互斥锁(mutex)实战 💡 学习目标:掌握 C++ 标准库中互斥锁的基本用法,理解多线程同步的核心原理,能够解决多线程环境下的资源竞争问题。 💡 学习重点:std::mutex 与 std::lock_guard 的使用、死锁的产生原因及规避方法、实际场景中的同步案例实现。 48.1 多线程同步的必要性 在多线程编程中,当多个线程同时访问共享资源时,会出现资源竞争问题。 例如两个线程同时对同一个变量进行读写操作,会导致最终结果与预期不符。 这种问题被称为线程安全问题,而解决该问题的核心就是线程同步。 ⚠️ 注意事项:线程不同步会引发数据竞争,造成程序运行结果不可预测,甚至导致程序崩溃。 举个简单的反例,两个线程同时对全局变量 count 进行自增操作: #include<iostream>#include<thread>usingnamespace std;int count

By Ne0inhk
C++ 红黑树

C++ 红黑树

一、红黑树的概念 红黑树是一颗二叉搜索树,它的每一个结点增加一个存储位来表示结点的颜色,可以是红色或者是黑色,通过对任何一条从根到叶子的路径上各个结点的颜色进行约束,红黑树确保没有一条路径会比其他路径长出2倍,因此是接近平衡的 1.1 红黑树的规则 ①:每一个结点不是红色就是黑色 ②:根节点是黑色的 ③:如果一个结点是红色的,则它的两个孩子结点必须是黑色的,也就是说任意一条路径不会有连续的红色结点 ④:对于任意一个结点,从该结点到其所有NULL结点的简单路径上,均包含相同数量的黑色结点 最坏的情况: 1.2 红黑树如何确保最长路径不超过最短路径的2倍         由规则4可知,从根节点到NULL结点的每条路径都有相同数量的黑色结点,所以极端场景下,最短路径就是全是黑色结点的路径,假设最短路径长度为bh(black height)         由规则2和规则3可知,任意一条路径不会有连续的红色结点,所以极端场景下,最长路径就是一黑一红间隔组成,那么最长路径的长度为2*bh         综合红黑树的4点规则,理论上的全黑最短路径和一黑一红的最长路径并不

By Ne0inhk