vscode的c++环境搭建

完全卸载Vscode

为了确保步骤一致,若之前有安装过Vscode,需要在控制面板卸载

卸载完成后,根据不同的操作系统,删除目录

  • Windows
%APPDATA%Code
%USERPROFILE%.vscode
  • macOS
$HOME/Library/Application Support/Code 
~/.vscode.
  • Linux
$HOME/.config/Code 
~/.vscode.

配置环境

安装 msys2

https://github.com/msys2/msys2-installer/releases/download/2024-01-13/msys2-x86_64-20240113.exe

MSYS2是一个为Windows系统设计的软件包集合,它提供了一个类似于Linux的shell环境,允许用户在Windows上编译和运行许多Linux应用程序和工具。MSYS2基于MinGW-w64平台,提供了一个完整的开发环境,包括GCC编译器、GDB调试器、Make、Git版本控制系统等开发工具。

回到桌面,按住win键,在开始菜单中搜索ucrt

UCRT,全称为Universal C Runtime(通用C运行时库),是微软为Windows平台引入的一项关键技术,旨在提供符合ISO C99、C11及POSIX标准的C语言运行时支持。自Windows 10起,UCRT作为操作系统的核心组件,为应用程序带来了更好的兼容性、稳定性和性能

安装 mingw

在 ucrt64 中粘贴下面这条命令(使用右键粘贴,ctrl+v 不生效)

pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain

敲一下回车(默认为 all)选择安装的套件

在这个界面键入 Y 回车开始安装。

配置环境变量

回到桌面,在开始菜单中搜索“环境变量”

选择环境变量 > 双击用户变量下的 Path > 在右侧工具栏中,选择浏览

配置环境变量到 Path,注意选择 msys2 安装目录下的 ucrt64bin,程序的默认安装目录如下。

C:msys64ucrt64bin

点击三次确定,返回到桌面。

在 cmd 中测试命令

按住 win 打开开始菜单,输入 cmd

测试以下指令

gcc --version
g++ --version
gdb --version

如果正常,应该输出结果

VSCode C++拓展

打开 vscode,在左侧选择第五个拓展,搜索 C++,安装拓展包

安装 C/C++拓展

安装完成后,在顶栏输入 “>C/SIC”,选择 Select IntelliSense Configuration…

选中 g++

示例程序

使用 ctrl+n 快速创建文件,复制下面这段代码

#include <iostream>

using namespace std;

int main()
{
    cout << "Ever heard of rubber duck debugging?" << endl;
    cout << "                __     " << endl;
    cout << "              <(o )___-" << endl;
    cout << "               ( .__> /" << endl;
    cout << "                `----' " << endl;
    return 0;
}

按 ctrl+s 保存,取一个你喜欢的名字,后面加上.cpp 拓展名。例如 nihao.cpp

新建一个文件夹并保存

点击右上角的三角箭头

选择 debug 配置,这里选择 g++

vscode 会自己编译并执行代码

调试,在其中的一行输出中打断点以启用调试功能

调整swap分区以解决内存不够的问题

在Ubuntu系统中,swap分区是一种硬盘上的空间,被配置为临时存储那些当前不活跃的内存页,以便在物理内存(RAM)不足时释放更多的RAM给活跃的进程使用。通过使用swap空间,系统可以处理比物理内存更大的数据集,虽然这可能会增加一些性能开销,因为硬盘的读写速度通常比RAM慢。Ubuntu允许用户通过命令行工具如swaponswapfile来管理swap空间,包括启用、禁用和调整swap分区或swap文件的大小。

1. 关闭当前的交换文件

首先,关闭当前的交换文件,以便进行调整。在终端中输入以下命令:

sudo swapoff /swapfile

这个过程比较慢,需要等待swap分区缓存释放完毕。

2. 删除现有的交换文件

删除旧的交换文件来腾出空间:

sudo rm /swapfile

3. 创建新的交换文件(48GB)

创建一个新的交换文件,大小为 48GB:

sudo fallocate -l 48G /swapfile

如果 fallocate 不可用,也可以使用 dd 命令来创建文件:

sudo dd if=/dev/zero of=/swapfile bs=1M count=49152

(注意:这个过程可能会比 fallocate 更慢)

4. 设置正确的权限

确保只有 root 用户可以读取和写入交换文件:

sudo chmod 600 /swapfile

5. 将交换文件格式化为交换区域

将新创建的交换文件格式化为 Linux 交换空间:

sudo mkswap /swapfile

6. 启用交换文件

启用新的交换文件:

sudo swapon /swapfile

7. 持久化交换文件设置

为了在系统重启后仍然使用这个交换文件,需要编辑 /etc/fstab 文件:

sudo nano /etc/fstab

在文件末尾添加以下行:

/swapfile none swap sw 0 0

保存并退出编辑器。

8. 验证交换空间大小

你可以通过以下命令检查新的交换文件是否已生效并且大小为 48GB:

free -h

你应该看到交换分区的大小是 48GB。