Skip to content

Commit ec335b6

Browse files
xiaoh1024xiao-hautofix-ci[bot]
authored
dev/language: C/C++ and develop guide (#51)
* dev/language: C/C++ and develop guide * [autofix.ci] apply automated fixes --------- Co-authored-by: xiao-h <[email protected]> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
1 parent 92226b0 commit ec335b6

File tree

2 files changed

+28
-5
lines changed

2 files changed

+28
-5
lines changed

docs/dev/language/index.md

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ icon: material/xml
66

77
!!! note "主要作者"
88

9-
[@tiankaima][tiankaima]
9+
[@tiankaima][tiankaima]、[@xiao-h1024][xiao-h1024]
1010

1111
!!! warning "本文编写中"
1212

@@ -77,6 +77,7 @@ icon: material/xml
7777

7878
- [FastAPI](https://fastapi.tiangolo.com/): 尝试写一个简单的 API 服务
7979
- [Python Data Science Handbook](https://jakevdp.github.io/PythonDataScienceHandbook/): 了解 Python 在数据科学领域的应用
80+
- [PyTorch](https://pytorch.org/tutorials/): 了解 PyTorch 的使用
8081
- [TensorFlow](https://tensorflow.google.cn/tutorials?hl=zh-cn): 了解 TensorFlow 的使用
8182
- [Python Cookbook](https://python3-cookbook.readthedocs.io/zh_CN/latest/): 深入了解 Python 的一些特性
8283

@@ -127,30 +128,51 @@ icon: material/xml
127128

128129
!!! comment "适用范围"
129130

130-
TBC
131+
C/C++ 的适用范围非常广泛,几乎可以适用于计算机的各种领域,通常用于性能要求较高或是资源受限、贴近底层的地方,比如操作系统内核、游戏引擎、高频量化交易、嵌入式开发等
131132

132133
!!! note "特点"
133134

134-
TBC
135+
- 高性能:编译为机器码,没有额外开销
136+
- 手动内存管理:与一些自带 GC 的语言不同,C/C++ 要求开发者自行管理内存
137+
- 生态分散:C/C++ 并没有官方的包管理器,生态较为分散,现有的包管理器、构建工具并不完善
135138

136139
参考资料:
137140

138141
- [Linux 101/Ch07](https://101.lug.ustc.edu.cn/Ch07/#c)
139142
- [C++ Reference](https://en.cppreference.com/w/)
143+
- [CppCon](https://cppcon.org/)
144+
- [Modern C++ Programming](https://federico-busato.github.io/Modern-CPP-Programming/)
145+
146+
常用工具:
147+
148+
- [CMake](https://cmake.org/): 目前最流行的跨平台 C/C++ 构建系统
149+
- [Meson](https://mesonbuild.com): 一种开源构建系统,比 CMake 更加用户友好
150+
- [Xmake](https://xmake.io): 现代化的 C/C++ 构建工具,拥有快速构建、生成工程文件、包管理等强大功能,同时轻量易上手
151+
- [Vcpkg](https://vcpkg.io): 微软开发的免费开源 C/C++ 包管理器,可以跨平台,能够与 CMake 等构建工具协作
152+
- [Conan](https://conan.io/): 另一个 C/C++ 的包管理器,比 Vcpkg 更方便定制
153+
154+
!!! comment "@xiao-h1024: 关于 C/C++ 生态的吐槽"
155+
156+
C/C++ 的生态非常分散且混乱,你可以看到各种各样的构建工具,每个都声称自己解决了先前构建工具的问题,然而现实是各有各的坑点,生态还是那样混乱。想要把第三方库顺利集成到自己的项目中,还要跨平台,解决构建问题的时间都够写好多代码了,这可真是噩梦。所以还得是 Rust(逃
140157

141158
## 开发指南
142159

143160
### Style Guide {#style-guide}
144161

145-
TBC
162+
- [Google C++ Style Guide](https://google.github.io/styleguide/cppguide.html)
163+
- [Style Guide for Python Code](https://peps.python.org/pep-0008/)
146164

147165
### Flame Graph {#flame-graph}
148166

149167
TBC
150168

151169
### IDE {#ide}
152170

153-
TBC
171+
- [Visual Studio Code](https://code.visualstudio.com/): 其实 Visual Studio Code 是个代码编辑器,但是在众多插件的帮助下,可以有 IDE 一样的体验。Visual Studio Code 可以用于各种语言的开发,更是拥有非常出色的远程开发功能。
172+
- [Pycharm](https://www.jetbrains.com/pycharm/): Jetbrains 开发的 Python IDE,提供了开箱即用的 Python 开发体验,支持 Python 的各种框架
173+
- [Clion](https://www.jetbrains.com/clion/): Jetbrains 开发的 C++ IDE,使用 CMake 管理工程,拥有强大的静态检查功能,以及强大的代码重构功能
174+
- [QT Creator](https://www.qt.io/zh-cn/product/development-tools): 主要用于开发 Qt 应用的 IDE
175+
- [Cursor](https://www.cursor.com/): 深度集成了 AI 工具的代码编辑器,基于 Visual Studio Code 开发,兼容大部分 Visual Studio Code 的插件,Tab 键的体验谁用谁知道!
154176

155177
### 其他工具
156178

includes/authors.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,4 @@
1919
[yuanyiwei]: https://github.com/yuanyiwei
2020
[TheRainstorm]: https://github.com/TheRainstorm
2121
[JiaminL]: https://github.com/JiaminL
22+
[xiao-h1024]: https://github.com/xiaoh1024

0 commit comments

Comments
 (0)