122 lines
4.2 KiB
Markdown
122 lines
4.2 KiB
Markdown
|
# 11.1.C/C++编程环境搭建
|
|||
|
|
|||
|
## 11.1.1. 基础环境
|
|||
|
|
|||
|
### 编译器
|
|||
|
|
|||
|
你首先需要安装一些基础软件包,这些软件包是编译C/C++程序所必须的。
|
|||
|
|
|||
|
```Shell
|
|||
|
sudo apt install build-essential
|
|||
|
```
|
|||
|
|
|||
|
build-esential是一个元包,它包含了编译C/C++程序所必须的软件包。包括了gcc、g++、make、libc6-dev|libc-dev.
|
|||
|
|
|||
|
当然你也可以安装llvm,它也是一个C/C++编译器,它的优势是可以编译C/C++以外的语言,比如Rust、Go、Swift等。
|
|||
|
|
|||
|
```Shell
|
|||
|
sudo apt install llvm # llvm后端编译器
|
|||
|
sudo apt install clang # clang前端编译器
|
|||
|
```
|
|||
|
|
|||
|
### 调试工具
|
|||
|
|
|||
|
调试工具是编程的必备工具,它可以帮助我们快速定位程序的错误,提高程序的运行效率。
|
|||
|
|
|||
|
```Shell
|
|||
|
sudo apt install gdb # gdb调试器
|
|||
|
sudo apt install valgrind # valgrind内存检查工具
|
|||
|
```
|
|||
|
|
|||
|
### 静态分析工具
|
|||
|
|
|||
|
静态分析工具可以帮助我们检查程序的错误,比如内存泄漏、空指针访问等。
|
|||
|
|
|||
|
```Shell
|
|||
|
sudo apt install cppcheck # cppcheck静态分析工具
|
|||
|
sudo apt install clang-tidy # clang-tidy静态分析工具
|
|||
|
```
|
|||
|
|
|||
|
### 代码格式化工具
|
|||
|
|
|||
|
代码格式化工具可以帮助我们格式化代码,使得代码风格统一,提高代码的可读性。
|
|||
|
|
|||
|
```Shell
|
|||
|
sudo apt install clang-format # clang-format代码格式化工具
|
|||
|
```
|
|||
|
|
|||
|
clang-format可以使用配置文件进行配置,deepin社区提供一份符合deepin代码风格的配置文件,你可以在[这里](https://github.com/linuxdeepin/deepin-styleguide)
|
|||
|
找到,不过建议不要依靠这个配置文件,因为这个配置文件是根据deepin的代码风格来的,如果你的代码风格不是deepin的,那么这个配置文件就不适合你。
|
|||
|
|
|||
|
拥有一个好的代码风格是非常重要的,它可以提高代码可读性,可维护性,可扩展性,可复用性,可测试性等等,所以你应该自己制定一套代码风格,然后使用clang-format来格式化你的代码。
|
|||
|
|
|||
|
不过你还是不要太过于依赖工具,因为工具是人类的延伸,而不是人类的替代。当clang-format不能满足你的需求时,你应该自己去修改代码。
|
|||
|
|
|||
|
`.clang-format`配置文件详见[官方文档](https://clang.llvm.org/docs/ClangFormatStyleOptions.html)
|
|||
|
|
|||
|
### 代码检查工具
|
|||
|
|
|||
|
代码检查工具可以帮助我们检查代码的错误,比如变量未使用、变量未初始化等。
|
|||
|
|
|||
|
```Shell
|
|||
|
sudo apt install clang-check # clang-check代码检查工具
|
|||
|
```
|
|||
|
|
|||
|
### 代码覆盖率工具
|
|||
|
|
|||
|
代码覆盖率工具可以帮助我们检查代码的覆盖率,比如哪些代码没有被测试到。
|
|||
|
|
|||
|
```Shell
|
|||
|
sudo apt install lcov # lcov代码覆盖率工具
|
|||
|
```
|
|||
|
|
|||
|
### 代码压缩工具
|
|||
|
|
|||
|
代码压缩工具可以帮助我们压缩代码,使得代码占用的空间更小。
|
|||
|
|
|||
|
```Shell
|
|||
|
sudo apt install upx # upx代码压缩工具
|
|||
|
```
|
|||
|
|
|||
|
### 构建工具
|
|||
|
|
|||
|
构建工具可以帮助我们构建项目,比如编译、链接、安装等。
|
|||
|
|
|||
|
```Shell
|
|||
|
sudo apt install cmake # cmake构建工具
|
|||
|
sudo apt install meson # meson构建工具
|
|||
|
sudo apt install ninja-build # ninja构建工具
|
|||
|
```
|
|||
|
|
|||
|
## 11.1.2. 文本编辑器
|
|||
|
|
|||
|
其实当上方的软件包都安装了之后,你就可以开始编写C/C++程序了,但是你还需要一个文本编辑器,这个文本编辑器可以是任意的,比如gedit、vim、emacs等。
|
|||
|
这里作为推荐,我推荐几款文本编辑器
|
|||
|
|
|||
|
### vim
|
|||
|
|
|||
|
vim是一款非常强大的文本编辑器,它的功能非常强大,但是它的学习曲线也非常陡峭,所以如果你是初学者,我不建议你使用vim。
|
|||
|
|
|||
|
```Shell
|
|||
|
sudo apt install vim
|
|||
|
```
|
|||
|
|
|||
|
### emacs
|
|||
|
|
|||
|
emacs是一款非常强大的文本编辑器,它的功能非常强大,但是它的学习曲线也非常陡峭,所以如果你是初学者,我不建议你使用emacs。
|
|||
|
|
|||
|
```Shell
|
|||
|
sudo apt install emacs
|
|||
|
```
|
|||
|
|
|||
|
### vscode
|
|||
|
|
|||
|
vscode是微软出品的一款文本编辑器,它的功能非常强大,而且它的学习曲线也不是很陡峭,所以如果你是初学者,我建议你使用vscode。
|
|||
|
|
|||
|
根据vscode的开源协议,deepin不能在源中提供vscode的安装包,所以你需要去官网下载安装包,然后手动安装。
|
|||
|
或者(推荐)在应用商店中搜索vscode,然后安装。(这种方式会添加vscode官方的软件源,所以以后更新vscode会方便很多)
|
|||
|
|
|||
|
### notepad--
|
|||
|
|
|||
|
notepad--是
|