首页 > 系统相关 >在Windows系统中搭建C++刷算法题环境

在Windows系统中搭建C++刷算法题环境

时间:2023-08-23 22:56:50浏览次数:48  
标签:Windows ++ C++ 如下 VSCode 算法 cpp main

下载Docker

首先,到Docker官方网站下载适合Windows系统的Docker Desktop并安装。

下载Ubuntu镜像

使用如下命令安装Ubuntu最新镜像:

docker pull ubuntu

在镜像中搭建C++编译环境

使用如下命令启动一个ubuntu容器:

docker run -itd --name ubt-cpp -v /d/code/algo:/data ubuntu

使用如下命令进入ubt-cpp容器:

docker exec -it ubt-cpp bash

执行如下几个命令安装C++编译环境:

apt update
apt install -y g++ make gdb

其中g++是C++编译器,make是项目构建工具,gdb是C++命令行方式调试工具。
执行如下命令检查是否安装OK:

g++ -v
make -v

下载VSCode

VSCode官方网站下载VSCode并安装。
在【扩展】标签页安装【Dev Containers】和【C/C++】插件。

在VSCode编写C++程序

在ubt-cpp容器中创建目录:

cd data
mkdir -p demo

通过【Dev Containers】插件进入demo目录,创建main.cpp文件,并写如下测试代码:

#include <bits/stdc++.h>

using namespace std;

int main() {
    cout << "hello cpp" << endl;
    return 0;
}

通过【Ctrl+~】快捷键打开VSCode内置的Terminal,执行如下命令:

g++ -o main main.cpp
./main

如果输出hello world,那么恭喜你环境搭建成功!

格式化代码

clang-format 也可以装下,可以按照自己的风格格式化代码:

apt install -y clang-format

我喜欢 Google 的C++ 代码风格,所以我的 .clang-format 文件配置如下:

---
Language:        Cpp
BasedOnStyle:  Google
AccessModifierOffset: -4
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
IndentWidth:     4
TabWidth:        4
UseTab:          Never
...

这样使用【Ctrl+S】的时候就可以自动格式化代码了。

标签:Windows,++,C++,如下,VSCode,算法,cpp,main
From: https://www.cnblogs.com/bfstudy/p/17652978.html

相关文章

  • 【DBN回归预测】基于麻雀算法优化深度置信网络SSA-DBN实现数据回归多输出预测附matlab
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • 多元时间序列 | Matlab粒子群算法优化深度置信网络(PSO-DBN)多变量时间序列预测
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • 图论算法代码
    当参加数学建模竞赛时,图论算法是一个常用的解决方案之一。以下是一个使用Python实现的深度优先搜索(DFS)算法示例,用于遍历图的所有节点:点击查看代码classGraph:def__init__(self):self.adjacency_list={}defadd_edge(self,u,v):ifunot......
  • 模拟退火算法代码
    当参加数学建模竞赛时,模拟退火算法是一个常用的解题方法之一。以下是一个简单的模拟退火算法的代码示例,用于解决旅行商问题(TSP):点击查看代码importmathimportrandomdefdistance(point1,point2):#计算两个点之间的欧几里德距离returnmath.sqrt((point1[0]-poi......
  • C++虚函数、虚继承:virtual
    ​1.引子在类的继承当中曾经出现过这样一种情况:B、C继承自A,D继承自B和C。 之前提到过,这种情况下,关于类A当中的内容,会被复制成两份给到D,当进行访问的时候,需要指定C或者B,才能够定位到A当中的变量是来自哪里。就像下面这样。​ 代码表示:classA{public:A(int......
  • 神经网络算法
    以下是一个简单的神经网络算法的代码示例,用于解决二分类问题:点击查看代码importnumpyasnp#定义激活函数defsigmoid(x):return1/(1+np.exp(-x))#定义神经网络类classNeuralNetwork:def__init__(self,input_size,hidden_size,output_size):......
  • C++类与对象(二)
    一、类的默认成员函数类内的默认成员函数:用户不显示实现,编译器就会自动生成的成员函数,被称为类的默认成员函数。这些默认成员函数各有各存在的作用。但实际上,很多时候,需要自己写这些成员函数,而不是使用编译器生成的。翻译一下就是,在类内有这样六个成员函数,如果你不写,编译器就会自动......
  • windows 桌面GUI自动化- 9.pywinauto 操作 MenuItem 菜单项
    前言pywinauto操作MenuItem菜单项,以及子菜单项。items()获取子菜单项以navicat为例操作,获取menu菜单项frompywinautoimportApplication#上海悠悠wx:283340479#blog:https://www.cnblogs.com/yoyoketang/app=Application('uia').start(r"D:\navicat\navicat1......
  • ChatGPT 问答00021 java 对字符串进行高度压缩的算法
    Java中对字符串进行高度压缩的算法有很多种,下面我介绍两种常见的方法。Run-LengthEncoding(RLE)算法RLE算法是一种简单且高效的字符串压缩算法。它通过将连续重复的字符序列替换为一个字符和其重复次数的表示来实现压缩。示例代码如下:publicstaticStringcompressStrin......
  • 基础入门-算法逆向&散列对称非对称&JS源码逆向&AES&DES&RSA&SHA
    基础入门-算法逆向&散列对称非对称&JS源码逆向&AES&DES&RSA&SHA目录基础入门-算法逆向&散列对称非对称&JS源码逆向&AES&DES&RSA&SHA安全测试中思路单向散列加密-MD5单向散列加密算法的优点有(以MD5为例):单向散列加密的缺点常见的单向散列加密算法有:MD5密文特点:解密需求:对称加密......