C++开发入门学习记录
0.准备开发环境
系统:Windows11
使用 文本编辑器:VSCode
使用 扩展:
C/C++
CMake Tools
准备 Git
准备 AI Agent (?)
使用 CMake(Download CMake)
使用Microsoft C++ 生成工具 - Visual Studio
先理解一些概念:
- C++ 程序是怎么诞生的?
当你写出源代码(比如main.cpp):计算机不能直接运行它
中间需要:.cpp源文件 -> 编译器 -> .obj目标文件 -> 链接器 -> .exe可执行文件
- CMake 的作用:一个帮助你生成“构建规则”的工具。负责生成构建规则,真正执行编译的是MSVC/GCC/Clang等编译器。
问题的产生:构建项目时你需要明确告诉编辑器,哪些文件需要编译、使用什么C++标准、输出叫什么、依赖哪些库、什么操作系统、Debug还是Release… 如果手写这些命令,效率低下
- CMakeLists.txt是什么:CMakeLists.txt 就是写给 CMake 的说明书。
举例:
1
2
3
4
5
6
7
8 cmake_minimum_required(VERSION 3.20) # 需要至少3.20版本
project(MyProject) # 定义项目名称:MyProject.exe
add_executable( # 生成一个可执行程序
MyProject # 名称
main.cpp # 源文件
)实际运行过程:
1
2
3
4 MyProject
├── CMakeLists.txt
└── main.cpp
1
2 # 执行
cmake -B buildCMake读取CMakeLists.txt -> 生成构建文件 -> build目录
1
2
3
4
5
6
7
8
9 MyProject
├── CMakeLists.txt
├── main.cpp
└── build
|
├── Visual Studio工程
├── Makefile
└── 配置文件
1
2 # 执行
cmake --build buildbuild文件 -> 调用MSVC -> 编译cpp -> 生成exe
.h 是声明:告诉别人这个类能做什么
.cpp 是实现:具体怎么做
#include 是引用别人写好的声明
class 是把数据和函数组织在一起
std::vector 是一组结果std::filesystem 是 C++17 自带的文件系统工具