Skip to content

Commit f39648e

Browse files
committed
Update public notes
1 parent 2a478f6 commit f39648e

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
created: "2025-11-08"
3+
updated: "2025-11-08"
4+
---
5+
真正使用 C++ 前,先对 C++ 有了解吧。
6+
7+
## 语言标准
8+
*超级石山。*
9+
10+
标准很好理解,因为 C++ 只有一套 ISO 制定的语言标准,有所差别的只是时间上不同版本差别,而且从名字上很好看出来。
11+
12+
## 编译器
13+
*以为 .NET 生态已经很乱了,没想到 C++ 的更乱,不过超级老资历嘛,可以理解。*
14+
15+
编译器是 C++ 标准的实现,也就是将标准 C++ 及编译器扩展的语法进行编译,成为汇编代码。
16+
17+
主要流行的 C++ 编译器有三种:
18+
- GCC:GNU 主流编译器,自由、开源软件,跨平台能力强。
19+
- Clang/LLVM:同样是开源的编译器,在 macOS/iOS 开发和工具链方面流行。
20+
- MSVC:Windows 的主流编译器,和 Visual Studio 紧密集成。
21+
22+
不同编译器对 C++ 最新标准支持程度不同,并且会对代码给不同的警告和错误。
23+
24+
## 构建系统
25+
26+
构建系统主管如何构建代码,也就是怎么进行编译,怎么处理外部库、多文件、跨平台的编译。
27+
28+
以前有更早的构建系统例如 makefile,还有特定平台的 `.vcproj``.vcxproj`
29+
30+
不知道用什么就用 CMake,跨平台、现代。(根据平台生成 MSVC 或者 Makefiles 之类的项目文件)
31+
32+
## 库管理器
33+
*现在,直面真正的混沌。*
34+
35+
没有中心的库管理工具,自己选吧。
36+
37+
- 古法:手动下载源代码、编译,并配置到构建系统中。
38+
- 现代科技
39+
- vcpkg(微软维护):跨平台,支持众多 C++ 库,目标是简化库管理。
40+
- Conan:去中心化,复杂有效。
41+
- ???
42+
- ~~apt yum pacman 装库进系统也是装库~~,但是别这么做,谢谢。
43+

0 commit comments

Comments
 (0)