认识C语言之前的准备: 环境搭建
Table of Contents

开启Hyper-V Link to 开启Hyper-V

点击重新启动之前, 最好保存你的所有其他任务

等待重新启动之后, 完成Hyper-V的开启

如果你的列表中没有Hyper-V的相关选项, 请参照下面的步骤执行

如果上面的步骤已经完成, 可以直接跳到👉下一部分


如果Windows功能列表中, 没有Hyper-V相关选项, 可以这样操作:

  1. 打开文件扩展名:

  2. 新建文本文档:

  3. 文本文档输入以下内容:

    PLAINTEXT
    1
    2
    3
    4
    5
    pushd "%~dp0"
    dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
    for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
    del hyper-v.txt
    Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
    

  4. 文本文档重命名为hyperv.bat, 并右键->管理员身份启动:

  5. 等待运行结束, 并根据提示输入'Y'重启系统

  6. 系统重启完成之后, 回到文章开头执行开启Hyper-V的相关操作: 👉指路

配置 Link to 配置

WSL安装 Link to WSL安装

打开Microsoft Store, 搜索openEuler 22.03:

点击安装, 下载完成后点击打开, 大概率会弹出这两个窗口:

Left image
Right image

可以在提示有 “按下任意键安装适用于 Linux 的 Windows 子系统” 的窗口中, 按下任意按键, 等待下载完成:

!!!重新启动!!!

然后再重新打开Microsoft Store, 搜索openEuler 22.03, 点击打开, 等待安装成功:

然后依次输入username和对应的密码:

注意:

输入密码期间, 密码是不显示的, 实际已经输入成功了

密码一共需要输入两次

一个在Windows中运行的Linux虚拟环境就安装好了

之后要运行这个环境, 只需要打开终端, 然后输入wsl就可以启动:

环境配置 Link to 环境配置

首先, 在WSL环境下, 执行命令安装必要的软件:

BASH
1
sudo dnf -y install g++ gdb git man-pages man-pages-help zsh wget unzip jsoncpp-devel tree

执行之后, 输入密码

可能会提示 “Waiting for process with pid xxx to finish.”

实际表示正在执行, 等待执行完毕就好:

most Link to most

BASH
1
2
wget https://rpmfind.net/linux/epel/8/Everything/x86_64/Packages/m/most-5.1.0-6.el8.x86_64.rpm
sudo rpm -ivh most-5.1.0-6.el8.x86_64.rpm

nvim Link to nvim

从博主在文章开头提供的压缩包中, 获取nvim-linux64.tar.gz文件

将其放入wsl的当前用户目录下:

BASH
1
2
3
$ pwd
/home/humid1ch
# pwd 用于查看当前所在路径

或者, 网络环境良好的情况下, 也可以直接通过命令把文件下载下来:

SHELL
1
wget https://github.com/neovim/neovim/releases/download/v0.10.1/nvim-linux64.tar.gz

然后

BASH
1
2
3
4
5
6
# 解压
tar -xvf nvim-linux64.tar.gz
# 解压完成之后
sudo mv nvim-linux64 /usr/local/nvim
# 给nvim建立软连接
sudo ln -s /usr/local/nvim/bin/nvim /usr/local/bin/nvim

执行完成之后, 输入nvim就能打开软件:

输入:q, 退出应用

python支持 Link to python 支持
BASH
1
2
3
4
5
6
# 先安装python3
sudo dnf install python3
# 再安装pip3
sudo dnf install python3-pip
# 再进行nvim的python支持
sudo pip3 install pynvim

nvim配置 Link to nvim 配置

从博主在文章开头提供的压缩包中, 获取nvim文件夹

将其放入用户文件夹的.config路径下:

BASH
1
2
$ pwd
/home/humid1ch/.config

然后输入nvim运行nvim等待配置完成:

如果因为网络问题出现错误, 可以尝试多次重新打开

当然, 如果有能力已更”科学”的方式连接网络, 建议使用更”科学”的方式配置

配置还没有完全完成

重新打开nvim, 并手动输入:MasonInstall clangd clang-format lua-language-server:


从博主在文章开头提供的压缩包中, 获取win32yank.exe文件, 放入Windows系统的C:\Windows\System32\路径下

至此, neovim安装、配置完成

win32yank.exe, 提供 nvimWindows互通剪切板 的功能

博主提供的是x64版本的, 如果需要32位的, 可以自行去win32yank - Github下载

zsh Link to zsh

zsh是一种shell软件, 简单理解就是Linux输入命令所依靠的软件

zsh比较新人推荐使用, 如果你更习惯其他shell当然也可以根据自己的喜好来

zsh在最开始已经完成了安装, 只需要切换默认shellzsh就可以了:

BASH
1
chsh -s /bin/zsh

重新进入wsl就可以看到生效了:

0, 完成.zshrc文件的创建

oh-my-zsh Link to oh-my-zsh

安装oh-my-zsh, 你可以将它理解为zsh的一个增强插件

BASH
1
2
# 直接在命令行执行
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

此时, 使用nvim打开.zshrc, 可以看到.zshrc的内容

BASH
1
nvim ~/.zshrc


下面这三个小插件可以不用安装, 但建议安装, 一般情况下它可以让你的zsh使用起来更加舒服

小插件 Link to 小插件

首先, powerlevel10kzsh的一个主题

执行这个命令, 可以下载powerlevel10k:

BASH
1
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

使用nvim编辑.zshrc文件

ZSH_THEME="robbyrussell"修改为ZSH_THEME="powerlevel10k/powerlevel10k"

zsh_theme

autosuggestionszsh的命令联想建议插件

执行这个命令:

BASH
1
git clone https://github.com/zsh-users/zsh-autosuggestions.git $ZSH_CUSTOM/plugins/zsh-autosuggestions

syntax-highlightingzsh的命令高亮插件

执行这个命令

BASH
1
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting

使用nvim编辑.zshrc文件

plugins=(git)处, 添加这两个插件, 为plugins=(git zsh-autosuggestions zsh-syntax-highlighting)

然后退出到shell, 执行source ~/.zshrc, 并根据提示和喜好配置powerlevel10k主题:

.zshrc个人配置 Link to .zshrc 个人配置

下面是博主个人习惯在~/.zshrc中添加的配置:

SHELL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 防止 rm 直接将文件删掉, 所以将 rm定义成一个函数, 起到 mv -t 的作用
rm() {
    if [[ $1 == "-rf" ]]; then
        shift
        mv -t ~/.delete/. "$@"
    else
        mv -t ~/.delete/. "$@"
    fi

    echo "成功将文件移动到 ~/.delete, 请注意清理"
}
# 方便打开多个文件, 一起加载到nvim的bufferline插件里
alias nvim="nvim -p"
alias vim="nvim -p"

# cat, t 太远了, 而且shell cat查看文件内容默认的Tab长度是8, 这里改成cas,并以4为Tab长度查看
alias cas="cat | expand -t 4"
alias unsetproxy="unset https_proxy http_proxy && git config --global --unset https.proxy && git config --global --unset http.proxy"

# most分页
export PAGER=most

配置完, 需要执行source ~/.zshrc生效

shell中执行mkdir ~/.delete创建回收目录

然后, 因为在.zshrc中, 把rm定义成了一个函数

所以, 原本的rm命令就没有办法正常执行了

所以, 要给原本的rm建立一个软连接

shell中执行这个命令:

BASH
1
sudo ln -s /usr/bin/rm /usr/bin/rlrm

之后, 执行rlrm就是真正的rm移除操作

gdb Link to gdb

gdb已经安装过了, 但是使用上可能需要安装一些内容

首先使用nvim简单写一个C语言程序:

C
1
2
3
int main() {
    return 0;
}

然后在shell中执行gcc main.c -g, 会生成一个可执行程序:

再执行gdb a.out, 之后输入r并回车:

记录这条指令后面需要使用

我的是dnf debuginfo-install glibc-2.34-152.oe2203sp4.x86_64

gdb中输入quit, 并回车退出

然后在shell中执行: gcc main.c -g, 会生成一个可执行程序并覆盖原来的可执行程序:

同样, 执行gdb a.out之后, 输入r并回车:

记录这两条指令

我的是dnf debuginfo-install glibc-2.34-152.oe2203sp4.x86_64dnf debuginfo-install libgcc-10.3.1-67.oe2203sp4.x86_64 libstdc++-10.3.1-67.oe2203sp4.x86_64

其中glibc的可能与上面的一致

最后在shell中, 使用sudo执行dnf debuginfo-install, 安装这三个缺失的库:

输入y并回车, 等待安装

可能需要占用2.0G+的硬盘空间

耗时八分半

安装完成后, 再使用gdb就没有Missing提示了

环境演示 Link to 环境演示

这个简单的C语言环境, 使用nvim+clang+lsp实现了最基本的C/C++的语法补全功能

至此

一个比较简单、舒适的C/C++开发环境就搭建好了

Thanks for reading!

认识C语言之前的准备: 环境搭建

Mon Mar 17 2025 Pin
2509 字 · 11 分钟