WSL的安装

1 Enable the Windows Subsystem for Linux

打开Windows Linux子系统开关

管理员启动PowerShell ,输入

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

2 Check requirements for running WSL 2

如果要更新到WSL2,需要满足一定的版本要求。如果不更新到WSL2,可以直接进入第6步

  • For x64 systems: Version 1903 or higher, with Build 18362 or higher.
  • For ARM64 systems: Version 2004 or higher, with Build 19041 or higher.
  • Builds lower than 18362 do not support WSL 2. Use the Windows Update Assistant to update your version of Windows.

3 Enable Virtual Machine feature

打开虚拟特性,WSL2要求

管理员启动PowerShell ,输入

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

等待部署完成,期间可能会出现资源管理器挂掉的情况,需要手动重启

Ctrl+Shift+Esc 打开资源管理器,新建任务explorer.exe即可

4 下载Linux内核更新包并安装

更新包

5 Set WSL 2 as your default version

将WSL2设置为默认的版本,这样在应用商店下载的时候,就是WSL2版本的内核

wsl --set-default-version 2

6 Install your Linux distribution of choice

在win10应用商店下载需要的Linux版本应用

7 从WSL升级到WSL2

如果,你之前是通过step1 ,6直接安装的WSL,现在需要升级到WSL2,那么你应该将step2,3,4,5完成,然后管理员启动PowerShell ,输入

wsl -l -v # 列出安装的wsl版本
# wsl --set-version <你的用的发行版> 2 
wsl --set-version Ubuntu-20.04 2 # 我用的20.04 

等待

vscode安装插件 Remote - WSL

Ctrl+Shift+P打开命令选项,输入 remote -wsl 选择下面的 remote -wsl:new Windows即可在vscode里面打开ubuntu的bash窗口,然后你就可以愉快的使用Linux啦!

更换国内镜像源文件

因为下载软件的时候,访问国外官方网站比较慢,所以一般都是将镜像源换成国内的

cd /etc/apt/    # 到镜像源路径下

sudo cp sources.list sources.list.back # 复制防止意外

sudo vim sources.list #使用vim编辑器,编辑镜像源代码

:%s/archive.ubuntu/mirrors.aliyun/g # vim里面,按:进入命令模式,输完命令回车

:%s/security.ubuntu/mirrors.aliyun/g

:wq #vim退出

安装常用软件

apt 是Advanced Packaging Tool的简称,是Ubuntu下的包安装管理工具,大部分的软件安装/更新/卸载都是利用apt命令来实现的。

sudo apt install g++ 
sudo apt install make
sudo apt install cmake
sudo apt install gdb

由于上面更换了镜像源,所以这里报了一个错误

Unable to locate package g++ # 无法找到g++的包

原来是,我们换了镜像源之后,没有更新,更新一下就好了

sudo apt-get update

跑一个测试程序

编译过程

# 预处理 头文件包含、宏替换、去注释
gcc -E test.c -o test.i
# 编译 语法检测、语义检测、生成汇编文件
gcc -S test.i -o test.s
# 汇编 将汇编文件转换为机器码
gcc -c test.s -o test.o
# 链接 将机器码链接到一起生成可执行文件
gcc test.o -o test
# 实际上一行代码就可以搞定
gcc test.c -o test

Ctrl+Esc下面的点:打开vscode终端窗口
Ctrl+K Ctrl+O打开文件夹

g++ 与gcc 的区别?
g++用于cpp文件,但也可以用于c文件,因为在执行过程中,内部实际调用的是gcc;

常用的gcc编译选项