commit cd2cf8d1f4d168a3dcae0785ffe56f0ff563d28c Author: wsk Date: Fri Jul 11 15:36:26 2025 +0800 wsk diff --git a/IAR/IAR.md b/IAR/IAR.md new file mode 100644 index 0000000..e9162a9 --- /dev/null +++ b/IAR/IAR.md @@ -0,0 +1,217 @@ +# IAR相关知识点 + + + +## 工程操作 + +- **各类型文件含义** + + | 文件后缀 | 其意义 | + | :-------: | :----------------------------------------------------------: | + | `.eww` | 工作空间文件,包含多个项目的索引信息 | + | `.ewp` | 项目文件,包含项目的设置和配置 | + | `.ewd` | 调试配置文件,用于调试设置 | + | `.ewt` | (嵌入式工作台模板文件) 用于存储工程或文件的模板配置,方便快速创建具有相同设置的新项目。 | + | `.c` | 源代码文件,包含C语言代码 | + | `.h` | 头文件,包含函数声明和宏定义 | + | `.s/.asm` | 汇编文件 | + | `.map` | 单片机地址映射文件 | + | `.hex` | 烧录到芯片的十六进制文件 | + + + +- **新建/打开工作区** + + - 新建工作区 + + ![image-20250709093244205](./pictures/image-20250709093244205.png) + + - **打开工作区** + + ![image-20250709093728548](./pictures/image-20250709093728548.png) + +- **新建/打开工程** + + - 新建工程 + + ![image-20250709093806148](./pictures/image-20250709093806148.png) + + - **打开工程** + + ![image-20250709093908974](./pictures/image-20250709093908974.png) + +- **工作区导入/添加工程** + + ![image-20250709094027152](./pictures/image-20250709094027152.png) + +- **新建分组** + + ![image-20250709094122539](./pictures/image-20250709094122539.png) + +- **新建/打开文件** + + - 新建文件 + + ![image-20250709094340738](./pictures/image-20250709094340738.png) + + - 打开文件 + + ![image-20250709094428732](./pictures/image-20250709094428732.png) + +- **工程目录与文件目录的关系** + + - 工程目录主要负责项目配置和构建控制,而文件目录则是源代码的物理存储位置。两者通过工程文件中的引用关系连接起来,形成完整的开发环境结构。 + +## 工程配置 + +- **设备配置** + + - 选择芯片型号 + + ![image-20250709095356988](./pictures/image-20250709095356988.png) + + ![image-20250709095422368](./pictures/image-20250709095422368.png) + + + +- **编译配置** + + - 优化等级 + + ![image-20250709095459265](./pictures/image-20250709095459265.png) + + - 硬件浮点 + + ![image-20250709095532506](./pictures/image-20250709095532506.png) + + - 预处理 + + ![image-20250709100328867](./pictures/image-20250709100328867.png) + + - 链接文件(.icf链接脚本控制内存分配(Flash/ROM、RAM 布局)关键硬件相关文件) + + ![image-20250709095718033](./pictures/image-20250709095718033.png) + + - 文件路径配置 + + ![image-20250709095759245](./pictures/image-20250709095759245.png) + + - 输出文件路径 + + ![image-20250709100111787](./pictures/image-20250709100111787.png) + + - 输出文件配置 + + ![image-20250709100429885](./pictures/image-20250709100429885.png) + +- 调试器配置 + + ![image-20250709100507410](./pictures/image-20250709100507410.png) + +- 库相关配置 + + ![image-20250709100552114](./pictures/image-20250709100552114.png) + +- 静态库的封装 + + 1. ![image-20250709185406199](./pictures/image-20250709185406199.png) + + 2. ![image-20250709185505451](./pictures/image-20250709185505451.png) + + 3. ![image-20250709185622450](./pictures/image-20250709185622450.png) + + 4. 屏蔽不用编译的文件 + + ![image-20250709185744113](./pictures/image-20250709185744113.png) + + ![image-20250709185833195](./pictures/image-20250709185833195.png) + + 5. 编译 + +- 静态库的调用 + + 1. ![image-20250709185922441](./pictures/image-20250709185922441.png) + 2. ![image-20250709190002503](./pictures/image-20250709190002503.png) + 3. 将之前的.c文件删除 + 4. 编译执行 + +## 工程调试 + +- 断点 + + - 设置断点 + + 设置断点(点击代码行左侧,出现红色圆圈) + + - 禁用断点 + + 禁用断点(右键红色圆圈,Enable/disable) + + - 启用断点 + + 启用断点(右键红色圆圈,Enable/disable) + + - 删除断点 + + 删除断点(再次点击代码行左侧,红色圆圈消失) + + - 条件断点 + + 条件断点(可以设置一个条件,当条件满足时,断点生效) + + ![image-20250709104442792](./pictures/image-20250709104442792.png) + +- 监控信息 + + ![image-20250709101836850](./pictures/image-20250709101836850.png) + +- 寄存器信息 + + ![image-20250709105019076](./pictures/image-20250709105019076.png) + +- 内存信息 + + ![image-20250709105314139](./pictures/image-20250709105314139.png) + +- 栈信息 + + ![image-20250709105420224](./pictures/image-20250709105420224.png) + +- 汇编信息 + + ![image-20250709105851015](./pictures/image-20250709105851015.png) + +- 调用堆栈信息 + + 调用堆栈窗口通常在IDE(如Visual Studio)中提供,它展示了函数调用的顺序列表。 + + ![image-20250709190439295](./pictures/image-20250709190439295.png) + +- 单步调试 + + - 逐过程 + + ![image-20250709191214143](./pictures/image-20250709191214143.png) + + - 逐语句 + + ![image-20250709191149273](./pictures/image-20250709191149273.png) + + - 复位 + + ![image-20250709103631255](./pictures/image-20250709103631255.png) + + - 跳出 + + ![image-20250709191239821](./pictures/image-20250709191239821.png) + + ## IAR 调试常用操作对照表(含英文缩写、快捷键和含义) + + | 中文名称 | 英文名称 | 缩写/简称 | 快捷键 | 含义说明 | + | -------- | --------- | ------------------ | -------------- | ------------------------------------------------------------ | + | 逐语句 | Step Into | `StepIn` 或 `SI` | `F11` | 执行当前语句,若为函数调用,则进入函数内部逐句调试。 | + | 逐过程 | Step Over | `StepOver` 或 `SO` | `F10` | 执行当前语句,若为函数调用,则跳过函数体,直接执行下一行。 | + | 跳出 | Step Out | `StepOut` 或 `SR` | `Shift + F11` | 执行当前函数剩余代码并跳出,返回到调用该函数的位置。 | + | 复位 | Reset | `Reset` | *无默认快捷键* | 让 MCU 从复位向量重新启动程序执行(从 `main()` 或初始化开始)。 | + +[**参考文献**](https://blog.csdn.net/ideal121/article/details/118675124?fromshare=blogdetail&sharetype=blogdetail&sharerId=118675124&sharerefer=PC&sharesource=2301_81415726&sharefrom=from_link) \ No newline at end of file diff --git a/IAR/pictures/image-20250709093244205.png b/IAR/pictures/image-20250709093244205.png new file mode 100644 index 0000000..fa5e75f Binary files /dev/null and b/IAR/pictures/image-20250709093244205.png differ diff --git a/IAR/pictures/image-20250709093728548.png b/IAR/pictures/image-20250709093728548.png new file mode 100644 index 0000000..0a506aa Binary files /dev/null and b/IAR/pictures/image-20250709093728548.png differ diff --git a/IAR/pictures/image-20250709093806148.png b/IAR/pictures/image-20250709093806148.png new file mode 100644 index 0000000..8f10eb5 Binary files /dev/null and b/IAR/pictures/image-20250709093806148.png differ diff --git a/IAR/pictures/image-20250709093908974.png b/IAR/pictures/image-20250709093908974.png new file mode 100644 index 0000000..5e584a7 Binary files /dev/null and b/IAR/pictures/image-20250709093908974.png differ diff --git a/IAR/pictures/image-20250709094027152.png b/IAR/pictures/image-20250709094027152.png new file mode 100644 index 0000000..b2317c5 Binary files /dev/null and b/IAR/pictures/image-20250709094027152.png differ diff --git a/IAR/pictures/image-20250709094122539.png b/IAR/pictures/image-20250709094122539.png new file mode 100644 index 0000000..15feb1e Binary files /dev/null and b/IAR/pictures/image-20250709094122539.png differ diff --git a/IAR/pictures/image-20250709094340738.png b/IAR/pictures/image-20250709094340738.png new file mode 100644 index 0000000..79a3707 Binary files /dev/null and b/IAR/pictures/image-20250709094340738.png differ diff --git a/IAR/pictures/image-20250709094428732.png b/IAR/pictures/image-20250709094428732.png new file mode 100644 index 0000000..55e2866 Binary files /dev/null and b/IAR/pictures/image-20250709094428732.png differ diff --git a/IAR/pictures/image-20250709095356988.png b/IAR/pictures/image-20250709095356988.png new file mode 100644 index 0000000..4dca9ca Binary files /dev/null and b/IAR/pictures/image-20250709095356988.png differ diff --git a/IAR/pictures/image-20250709095422368.png b/IAR/pictures/image-20250709095422368.png new file mode 100644 index 0000000..6a07fd6 Binary files /dev/null and b/IAR/pictures/image-20250709095422368.png differ diff --git a/IAR/pictures/image-20250709095459265.png b/IAR/pictures/image-20250709095459265.png new file mode 100644 index 0000000..944874f Binary files /dev/null and b/IAR/pictures/image-20250709095459265.png differ diff --git a/IAR/pictures/image-20250709095532506.png b/IAR/pictures/image-20250709095532506.png new file mode 100644 index 0000000..f5793b1 Binary files /dev/null and b/IAR/pictures/image-20250709095532506.png differ diff --git a/IAR/pictures/image-20250709095637552.png b/IAR/pictures/image-20250709095637552.png new file mode 100644 index 0000000..48c3e25 Binary files /dev/null and b/IAR/pictures/image-20250709095637552.png differ diff --git a/IAR/pictures/image-20250709095718033.png b/IAR/pictures/image-20250709095718033.png new file mode 100644 index 0000000..dd3e214 Binary files /dev/null and b/IAR/pictures/image-20250709095718033.png differ diff --git a/IAR/pictures/image-20250709095759245.png b/IAR/pictures/image-20250709095759245.png new file mode 100644 index 0000000..6a1c9b3 Binary files /dev/null and b/IAR/pictures/image-20250709095759245.png differ diff --git a/IAR/pictures/image-20250709100111787.png b/IAR/pictures/image-20250709100111787.png new file mode 100644 index 0000000..1eb9148 Binary files /dev/null and b/IAR/pictures/image-20250709100111787.png differ diff --git a/IAR/pictures/image-20250709100328867.png b/IAR/pictures/image-20250709100328867.png new file mode 100644 index 0000000..361eba8 Binary files /dev/null and b/IAR/pictures/image-20250709100328867.png differ diff --git a/IAR/pictures/image-20250709100429885.png b/IAR/pictures/image-20250709100429885.png new file mode 100644 index 0000000..460438d Binary files /dev/null and b/IAR/pictures/image-20250709100429885.png differ diff --git a/IAR/pictures/image-20250709100507410.png b/IAR/pictures/image-20250709100507410.png new file mode 100644 index 0000000..d058197 Binary files /dev/null and b/IAR/pictures/image-20250709100507410.png differ diff --git a/IAR/pictures/image-20250709100552114.png b/IAR/pictures/image-20250709100552114.png new file mode 100644 index 0000000..f8e7de7 Binary files /dev/null and b/IAR/pictures/image-20250709100552114.png differ diff --git a/IAR/pictures/image-20250709100834748.png b/IAR/pictures/image-20250709100834748.png new file mode 100644 index 0000000..3527c73 Binary files /dev/null and b/IAR/pictures/image-20250709100834748.png differ diff --git a/IAR/pictures/image-20250709100837880.png b/IAR/pictures/image-20250709100837880.png new file mode 100644 index 0000000..3527c73 Binary files /dev/null and b/IAR/pictures/image-20250709100837880.png differ diff --git a/IAR/pictures/image-20250709101836850.png b/IAR/pictures/image-20250709101836850.png new file mode 100644 index 0000000..2212dc7 Binary files /dev/null and b/IAR/pictures/image-20250709101836850.png differ diff --git a/IAR/pictures/image-20250709103631255.png b/IAR/pictures/image-20250709103631255.png new file mode 100644 index 0000000..dcabaac Binary files /dev/null and b/IAR/pictures/image-20250709103631255.png differ diff --git a/IAR/pictures/image-20250709104442792.png b/IAR/pictures/image-20250709104442792.png new file mode 100644 index 0000000..286d831 Binary files /dev/null and b/IAR/pictures/image-20250709104442792.png differ diff --git a/IAR/pictures/image-20250709105019076.png b/IAR/pictures/image-20250709105019076.png new file mode 100644 index 0000000..a8bf851 Binary files /dev/null and b/IAR/pictures/image-20250709105019076.png differ diff --git a/IAR/pictures/image-20250709105314139.png b/IAR/pictures/image-20250709105314139.png new file mode 100644 index 0000000..b0e1057 Binary files /dev/null and b/IAR/pictures/image-20250709105314139.png differ diff --git a/IAR/pictures/image-20250709105420224.png b/IAR/pictures/image-20250709105420224.png new file mode 100644 index 0000000..d1061fe Binary files /dev/null and b/IAR/pictures/image-20250709105420224.png differ diff --git a/IAR/pictures/image-20250709105851015.png b/IAR/pictures/image-20250709105851015.png new file mode 100644 index 0000000..7b3a0a4 Binary files /dev/null and b/IAR/pictures/image-20250709105851015.png differ diff --git a/IAR/pictures/image-20250709185406199.png b/IAR/pictures/image-20250709185406199.png new file mode 100644 index 0000000..8a97351 Binary files /dev/null and b/IAR/pictures/image-20250709185406199.png differ diff --git a/IAR/pictures/image-20250709185505451.png b/IAR/pictures/image-20250709185505451.png new file mode 100644 index 0000000..a824ba3 Binary files /dev/null and b/IAR/pictures/image-20250709185505451.png differ diff --git a/IAR/pictures/image-20250709185622450.png b/IAR/pictures/image-20250709185622450.png new file mode 100644 index 0000000..d2d3351 Binary files /dev/null and b/IAR/pictures/image-20250709185622450.png differ diff --git a/IAR/pictures/image-20250709185659142.png b/IAR/pictures/image-20250709185659142.png new file mode 100644 index 0000000..1cc4aef Binary files /dev/null and b/IAR/pictures/image-20250709185659142.png differ diff --git a/IAR/pictures/image-20250709185744113.png b/IAR/pictures/image-20250709185744113.png new file mode 100644 index 0000000..6c5a200 Binary files /dev/null and b/IAR/pictures/image-20250709185744113.png differ diff --git a/IAR/pictures/image-20250709185831020.png b/IAR/pictures/image-20250709185831020.png new file mode 100644 index 0000000..8223900 Binary files /dev/null and b/IAR/pictures/image-20250709185831020.png differ diff --git a/IAR/pictures/image-20250709185833195.png b/IAR/pictures/image-20250709185833195.png new file mode 100644 index 0000000..8223900 Binary files /dev/null and b/IAR/pictures/image-20250709185833195.png differ diff --git a/IAR/pictures/image-20250709185922441.png b/IAR/pictures/image-20250709185922441.png new file mode 100644 index 0000000..f3fe802 Binary files /dev/null and b/IAR/pictures/image-20250709185922441.png differ diff --git a/IAR/pictures/image-20250709190002503.png b/IAR/pictures/image-20250709190002503.png new file mode 100644 index 0000000..1bd9a38 Binary files /dev/null and b/IAR/pictures/image-20250709190002503.png differ diff --git a/IAR/pictures/image-20250709190439295.png b/IAR/pictures/image-20250709190439295.png new file mode 100644 index 0000000..088dc79 Binary files /dev/null and b/IAR/pictures/image-20250709190439295.png differ diff --git a/IAR/pictures/image-20250709191149273.png b/IAR/pictures/image-20250709191149273.png new file mode 100644 index 0000000..487cda5 Binary files /dev/null and b/IAR/pictures/image-20250709191149273.png differ diff --git a/IAR/pictures/image-20250709191214143.png b/IAR/pictures/image-20250709191214143.png new file mode 100644 index 0000000..d5854b8 Binary files /dev/null and b/IAR/pictures/image-20250709191214143.png differ diff --git a/IAR/pictures/image-20250709191239821.png b/IAR/pictures/image-20250709191239821.png new file mode 100644 index 0000000..18bc332 Binary files /dev/null and b/IAR/pictures/image-20250709191239821.png differ diff --git a/Library/Library.md b/Library/Library.md new file mode 100644 index 0000000..1c9fad9 --- /dev/null +++ b/Library/Library.md @@ -0,0 +1,91 @@ +# 库相关知识点 +## 静态库 +- 静态库的基本概念 + + 静态库是指在我们的应用中,有一些公共代码是需要反复使用,就把这些代码编译为“库”文件;在链接步骤中,连接器将从库文件取得 + 所需的代码 ,复制到生成的可执行文件中的这种库。 + +- 静态库的生成 + + ![image-20250710102658220](./pictures/image-20250710102658220.png) + + ![image-20250710102736776](./pictures/image-20250710102736776.png) + +- 静态库的调用 + + - 在工程配置中调用 + + - 1.头文件的引用 + + 方案一:设置头文件目录 + + 将头文件复制到我们的工程文件中。 + + 方案二: + + ![image-20250710103535872](./pictures/image-20250710103535872.png) + + 2. 库文件的引用 + + 方案一:连接器设置库文件目录![image-20250710103348996](./pictures/image-20250710103348996.png) + + 方案二: + + ![image-20250710105104029](./pictures/image-20250710105104029.png) + + 将lib添加到资源文件中 + + - 在代码中语句加载lib调用 + + 使用`#pragma comment(lib, "creat_static_lib.lib")`指令 + +## 动态库 +- 动态库的基本概念 + + 动态库是一种在程序运行时才被加载的库文件,它包含了函数和数据,可以被多个程序共享。 + +- 动态库的生成 + + - 通过导出语句生成 + + 1. 先宏定义MATHLIBRARY_EXPORTS + + 2. 写导出语句 + + ![image-20250710133121032](./pictures/image-20250710133121032.png) + + 3. .C文件正常编写需要封装函数的逻辑 + + - 通过模块文件生成 + + ![image-20250710133513492](./pictures/image-20250710133513492.png) + + ![image-20250710133559788](./pictures/image-20250710133559788.png) + + ![image-20250710133741106](./pictures/image-20250710133741106.png) + +- 动态库的调用 + 在工程配置中调用 + + 导入头文件,引用 + + ![image-20250710133846878](./pictures/image-20250710133846878.png) + + ~~在代码中语句加载lib调用~~ + + `#pragma comment(lib, "creat_static_lib.lib")` + + 在代码中语句加载`dll`调用 + + 将`dll`文件复制到`dbug`下面,使用以下程序指令动态加载 + + HINSTANCE Dll = LoadLibrary(L"test.dll"); + if (Dll == NULL) { + std::cerr << "无法加载DLL! 错误码: " << GetLastError() << std::endl; + return 1; + } + typedef void (*Func)(); // 定义函数指针类型 + Func add = (Func)GetProcAddress(Dll, "fun1"); + add(); + FreeLibrary(Dll); + return 0; \ No newline at end of file diff --git a/Library/pictures/image-20250710102658220.png b/Library/pictures/image-20250710102658220.png new file mode 100644 index 0000000..1194dee Binary files /dev/null and b/Library/pictures/image-20250710102658220.png differ diff --git a/Library/pictures/image-20250710102736776.png b/Library/pictures/image-20250710102736776.png new file mode 100644 index 0000000..f7ea562 Binary files /dev/null and b/Library/pictures/image-20250710102736776.png differ diff --git a/Library/pictures/image-20250710103348996.png b/Library/pictures/image-20250710103348996.png new file mode 100644 index 0000000..2e6a15c Binary files /dev/null and b/Library/pictures/image-20250710103348996.png differ diff --git a/Library/pictures/image-20250710103535872.png b/Library/pictures/image-20250710103535872.png new file mode 100644 index 0000000..b345698 Binary files /dev/null and b/Library/pictures/image-20250710103535872.png differ diff --git a/Library/pictures/image-20250710105104029.png b/Library/pictures/image-20250710105104029.png new file mode 100644 index 0000000..6b97fe9 Binary files /dev/null and b/Library/pictures/image-20250710105104029.png differ diff --git a/Library/pictures/image-20250710133121032.png b/Library/pictures/image-20250710133121032.png new file mode 100644 index 0000000..96789a2 Binary files /dev/null and b/Library/pictures/image-20250710133121032.png differ diff --git a/Library/pictures/image-20250710133408617.png b/Library/pictures/image-20250710133408617.png new file mode 100644 index 0000000..e93b50f Binary files /dev/null and b/Library/pictures/image-20250710133408617.png differ diff --git a/Library/pictures/image-20250710133513492.png b/Library/pictures/image-20250710133513492.png new file mode 100644 index 0000000..1b34c9c Binary files /dev/null and b/Library/pictures/image-20250710133513492.png differ diff --git a/Library/pictures/image-20250710133559788.png b/Library/pictures/image-20250710133559788.png new file mode 100644 index 0000000..080f664 Binary files /dev/null and b/Library/pictures/image-20250710133559788.png differ diff --git a/Library/pictures/image-20250710133741106.png b/Library/pictures/image-20250710133741106.png new file mode 100644 index 0000000..6504bd0 Binary files /dev/null and b/Library/pictures/image-20250710133741106.png differ diff --git a/Library/pictures/image-20250710133846878.png b/Library/pictures/image-20250710133846878.png new file mode 100644 index 0000000..7498124 Binary files /dev/null and b/Library/pictures/image-20250710133846878.png differ diff --git a/Markdown/Markdown.md b/Markdown/Markdown.md new file mode 100644 index 0000000..e1812dd --- /dev/null +++ b/Markdown/Markdown.md @@ -0,0 +1,186 @@ +# Markdown相关知识点 + +## 常用语法 + +- **标题相关** + + 要创建标题,就在单词或者短语前面加上**(#)**,**几个#号就表示几级标题**。 + + - 一级标题 + + **(# 一级标题)** + + - 二级标题 + + **(## 二级标题)** + + - 三级标题 + + **(### 三级标题)** + +- 标号相关 + + - 无序标号 + + - 要创建无序列表标号,在每个列表项前面添加**破折号 (-)、星号 (*) 或加号 (+)** 。 + + * 星号无序标号(*)。
+ + + 加号无序标号(+)。
+ + - 破折号无序标号(-)。
+ + - 有序标号 + + - 要创建有序列表,请在每个列表项前添加数字并紧跟一个英文句点。 + 1. 有序标号1 + 2. 有序标号2 + 3. 有序标号3 + 4. ............. + + - 标号嵌套 + + - **缩进一个或多个列表项**可创建嵌套列表标号。 + +- 一级无序标号 + 1. 二级有序标号 + - 三级无序标号 + + + +- 文字相关 + + - 加粗 + + 在单词或短语的前后各添加两个星号(asterisks)或下划线(underscores)。 + + **这是(*)号加粗内容** + + __这是(_)号加粗内容__ + + - 倾斜 + + 在单词或短语前后添加一个星号(asterisk)或下划线(underscore)。要斜体突出单词的中间部分,请在字母前后各添加一个星号,中间不要带空格。 + + *这是(\*)控制的斜体内容* + + _这是(\_)控制的斜体内容_ + + **Markdown 应用程序在如何处理单词或短语中间的下划线上并不一致。为兼容考虑,在单词或短语中间部分加粗的话,使用星号。** + + - 倾斜加粗 + + 要同时用粗体和斜体突出显示文本,请在单词或短语的前后各添加三个星号或下划线。要加粗并用斜体显示单词或短语的中间部分,请在要突出显示的部分前后各添加三个星号,中间不要带空格。 + + ***(\*)倾斜加粗*** + + ___(\_)倾斜加粗___ + + - 删除线 + + 在单词或短语前面添加两个波浪号(~~)可以实现删除线。 + + ~~这是一个删除线的测试~~ + + + +- 代码块 + + - 单行代码块 + + 要将单词或短语表示为代码,请将其包裹在反引号 (``) 中。 + + `这是一个单行代码的测试行` + + 如果你要表示为代码的单词或短语中包含一个或多个反引号,则可以通过将单词或短语包裹在双反引号(````)中。 + + - 多行代码块 + + 代码块之前和之后的行上使用三个反引号((`````)或三个波浪号(~~~)。 + + ```{this is for testing purposes``` + + ```123``` + + ```123``` + + ```}``` + +- 超链接 + + - 文字超链接 + + 使用\[文字描述](网页地址))。 + + [这是一个文字超链接](https://www.baidu.com/ ) + + - 图片超链接 + + 使用**\[\!\[图片](图片地址)](网页地址)** + + [![百度](.\pictures\image-20250708133150206.png)](https://www.baidu.com/) + + - 页面内跳转 + + 使用\[文字描述](#跳转地方) + + [一级标题](#Markdown相关知识点) + +\[链接第一部分]\[链接第二部分] + +\[链接第二部分]:地址 + +[百度][百度地址] + + + +[百度地址]:https://www.baidu.com/ + +- 其他 + + - 分割线 + + 要创建分隔线,在单独一行上使用三个或多个星号 (`***`)、破折号 (`---`) 或下划线 (`___`) ,并且不能包含其他内容。 + + 以下分别是***,---,___的演示 + + *** + + --- + + - 图片 + + 使用语法\[图片文字描述](图片地址) + + ![百度图标](.\pictures\image-20250708133150206.png) + + + + - 表格 + + CTRL+T; + + - 引用 + + 创建块引用,请在段落前添加一个 > 符号。 + ++ 路径 + + - 相对路径 + + 表示在和当前文件目录相比在哪儿。 + + [这是相对路径](.\pictures\image-20250708133120141.png) + + - 绝对路径 + + 表示文件相对于电脑的完整地址。 + + [这是绝对路径](C:\Users\wsk\Desktop\TrainCamp_WangShunKui_BasicLearn\Markdown\pictures\image-20250708133120141.png) + +- 快捷键 + +![image-20250711110327873](./pictures/image-20250711110327873.png) + +![image-20250711110429541](./pictures/image-20250711110429541.png) + diff --git a/Markdown/pictures/image-20250708133120141.png b/Markdown/pictures/image-20250708133120141.png new file mode 100644 index 0000000..09f6a57 Binary files /dev/null and b/Markdown/pictures/image-20250708133120141.png differ diff --git a/Markdown/pictures/image-20250708133150206.png b/Markdown/pictures/image-20250708133150206.png new file mode 100644 index 0000000..09f6a57 Binary files /dev/null and b/Markdown/pictures/image-20250708133150206.png differ diff --git a/Markdown/pictures/image-20250711110327873.png b/Markdown/pictures/image-20250711110327873.png new file mode 100644 index 0000000..90bf067 Binary files /dev/null and b/Markdown/pictures/image-20250711110327873.png differ diff --git a/Markdown/pictures/image-20250711110429541.png b/Markdown/pictures/image-20250711110429541.png new file mode 100644 index 0000000..2346d92 Binary files /dev/null and b/Markdown/pictures/image-20250711110429541.png differ diff --git a/SourceInSight/SourceInSight.md b/SourceInSight/SourceInSight.md new file mode 100644 index 0000000..5d5cc2f --- /dev/null +++ b/SourceInSight/SourceInSight.md @@ -0,0 +1,98 @@ +# SourceInSight相关知识点 +## 常规操作 +- 工程新建/添加 + + 1. 选择工程文件的位置 + + ![1752034385269](./pictures/1752034385269.png) + + 2. 选择源码位置 + + ![image-20250709121735489](./pictures/image-20250709121735489.png) + + 3. 将源码导入 + + ![image-20250709121914914](./pictures/image-20250709121914914.png) + +- 文件新建/添加 + + ![image-20250709123840755](./pictures/image-20250709123840755.png) + +- 符号表同步:就是让 Source Insight 保持项目符号(函数、类、变量等)信息与实际源代码一致。 + + ![image-20250709122117757](./pictures/image-20250709122117757.png) + +- **Force all files to be re-parsed** + + 强制重新解析所有文件。 + + - 作用:无论文件有没有改动,**全部源文件都会重新解析一遍**,重新生成符号。 + - 使用场景: + - 大范围修改了宏定义、头文件或库文件; + - 项目结构变化较大; + - 符号跳转失效、显示不准确时使用; + - 会花比较长的时间。 + +- **Synchronize the current source file only** + + 只同步当前打开的源文件。 + + 作用:只更新你当前正在查看的文件的符号信息。 + + 使用场景: + + - 你刚刚改动了当前文件的一些函数或变量,希望立即生效; + - 快速同步,不影响其他文件。 + + - ⚠ 其他文件不受影响,如果涉及头文件或其他依赖文件,可能会不完整。 + +- **Add new files automatically** + + 自动添加新文件到项目中。 + + - 作用:在同步过程中,如果发现了你源码目录下的**新文件**(比如新加的 `.c/.h` 文件),会**自动加入工程并解析符号**。 + - 使用场景: + - 经常手动往目录里加文件的人建议勾上; + - 适合多人协作开发时文件频繁变动。 + +- **Remove missing files from project** + + 自动从工程中移除找不到的文件。 + + - 作用:如果项目中之前包含的某些源文件**物理上已经被删除或移动**,则自动从工程移除它们。 + - 使用场景: + - 清理项目符号库; + - 文件重命名或移动后保持项目干净。 + - 小心使用,可能会误删临时缺失但之后会恢复的文件引用。 + +- 视图切换 + + ![image-20250711122253319](./pictures/image-20250711122253319.png) + + ![image-20250711122210026](./pictures/image-20250711122210026.png) + +- 常用窗口打开/关闭 + + 常见四大窗口: + + 1. project Window:查看我们的工程所在文件夹以及文件夹下的文件 + + ![image-20250709122721155](./pictures/image-20250709122721155.png) + + 2. Symbol Window:用于查看我们开启的文件以及文件内所包含的函数 + + ![image-20250709122927280](./pictures/image-20250709122927280.png) + + 3. Context Window串口:用于查看,函数中某个参数与函数的关系 + + ![image-20250709123057307](./pictures/image-20250709123057307.png) + + 4. Relation Window窗口:用于查看函数以及参数所定义的位置 + + ![image-20250709123227589](./pictures/image-20250709123227589.png) + + + +- 搜索引用 + + ![image-20250709123336532](./pictures/image-20250709123336532.png) \ No newline at end of file diff --git a/SourceInSight/pictures/1752034385269.png b/SourceInSight/pictures/1752034385269.png new file mode 100644 index 0000000..339724c Binary files /dev/null and b/SourceInSight/pictures/1752034385269.png differ diff --git a/SourceInSight/pictures/image-20250709121735489.png b/SourceInSight/pictures/image-20250709121735489.png new file mode 100644 index 0000000..0562bf6 Binary files /dev/null and b/SourceInSight/pictures/image-20250709121735489.png differ diff --git a/SourceInSight/pictures/image-20250709121914914.png b/SourceInSight/pictures/image-20250709121914914.png new file mode 100644 index 0000000..d7f6d46 Binary files /dev/null and b/SourceInSight/pictures/image-20250709121914914.png differ diff --git a/SourceInSight/pictures/image-20250709122117757.png b/SourceInSight/pictures/image-20250709122117757.png new file mode 100644 index 0000000..07b5521 Binary files /dev/null and b/SourceInSight/pictures/image-20250709122117757.png differ diff --git a/SourceInSight/pictures/image-20250709122721155.png b/SourceInSight/pictures/image-20250709122721155.png new file mode 100644 index 0000000..c4fff42 Binary files /dev/null and b/SourceInSight/pictures/image-20250709122721155.png differ diff --git a/SourceInSight/pictures/image-20250709122927280.png b/SourceInSight/pictures/image-20250709122927280.png new file mode 100644 index 0000000..06700c8 Binary files /dev/null and b/SourceInSight/pictures/image-20250709122927280.png differ diff --git a/SourceInSight/pictures/image-20250709123057307.png b/SourceInSight/pictures/image-20250709123057307.png new file mode 100644 index 0000000..e30ee1c Binary files /dev/null and b/SourceInSight/pictures/image-20250709123057307.png differ diff --git a/SourceInSight/pictures/image-20250709123227589.png b/SourceInSight/pictures/image-20250709123227589.png new file mode 100644 index 0000000..46d85b9 Binary files /dev/null and b/SourceInSight/pictures/image-20250709123227589.png differ diff --git a/SourceInSight/pictures/image-20250709123336532.png b/SourceInSight/pictures/image-20250709123336532.png new file mode 100644 index 0000000..1fc8a22 Binary files /dev/null and b/SourceInSight/pictures/image-20250709123336532.png differ diff --git a/SourceInSight/pictures/image-20250709123840755.png b/SourceInSight/pictures/image-20250709123840755.png new file mode 100644 index 0000000..003e8dd Binary files /dev/null and b/SourceInSight/pictures/image-20250709123840755.png differ diff --git a/SourceInSight/pictures/image-20250711122210026.png b/SourceInSight/pictures/image-20250711122210026.png new file mode 100644 index 0000000..2f4dee9 Binary files /dev/null and b/SourceInSight/pictures/image-20250711122210026.png differ diff --git a/SourceInSight/pictures/image-20250711122253319.png b/SourceInSight/pictures/image-20250711122253319.png new file mode 100644 index 0000000..9e7c5a3 Binary files /dev/null and b/SourceInSight/pictures/image-20250711122253319.png differ diff --git a/SourceTree/Source Tree.md b/SourceTree/Source Tree.md new file mode 100644 index 0000000..6756a57 --- /dev/null +++ b/SourceTree/Source Tree.md @@ -0,0 +1,184 @@ +# 代码管理相关知识点 +## Git +- Git的概念 + + Git是一个开源的分布式版本控制系统,它能够高效地处理从小到大的项目。 + +- 三个区域的概念 + + - 工作区 + + 平时存放项目的地方,可以在工作区直接修改。 + + - 暂存区 + + 用于临时存放改动,保存即将提交的文件列表信息。 + + - 仓库区(版本库) + + 就是安全存放数据的位置,这里面有提交到所有版本的数据(版本快照)。 + +- 仓库的概念 + + - Git仓库是存储文件和历史记录的地方。 + +- 节点的概念 + + 是Git中的基本概念,它代表着代码库的一个特定状态。每当你在Git中提交代码时,都会创建一个新的节点来保存当前代码库的状态。每个节点都有一个唯一的标识符,即SHA-1哈希值,用来标识该节点的内容和父节点。 + +- 分支的概念 + + 是基于节点的一个引用,它指向一个节点作为该分支的起点。通过创建分支,可以在代码库中开发新的功能、修复bug或实施其他更改,而不会影响原始分支。每个分支都有一个名称,通常用来描述该分支的目的或特点。分支之间可以相互合并,通过合并可以将不同分支上的更改合并到一起。 + +- 文件的状态 + + - 已修改:文件内容已经被修改。 + - 已删除:文件本身已经被删除(工作区删除,存储区还有)。 + - 变 更:文件本身没有修改,但是改变了存放位置。 + - 未管理:尚未添加到版本管理的文件,比如新添加的文件。 + - 忽 略:不需要添加到版本管理的文件。 + - 冲 突:合并的时候同时修改了同一块的内容,所有需要人为取解决冲突。 + + +## SourceTree +- SourceTree的概念 + + - SourceTree 是 Windows 和Mac OS X 下免费的 **Git 客户端,**拥有可视化界面,容易上手操作。 + +- 仓库相关操作 + + - **创建本地仓库** + + ![image-20250708170825330](./pictures/image-20250708170825330.png) + + - **打开本地仓库** + + ![image-20250708170902654](./pictures/image-20250708170902654.png) + + - **克隆远程仓库** + + ![image-20250708171125862](./pictures/image-20250708171125862.png) + + - **获取** + + ​ 获取是从远程仓库获取信息并同步至本地仓库(获取只会同步到本地仓库,不会更改工作文件) + + ![image-20250709090736034](./pictures/image-20250709090736034.png) + + - **关联远程仓库** + + - ![image-20250708192038104](./pictures/image-20250708192038104.png) + +- **节点相关操作** + + - **提交** :将工作区的内容放到仓库的这个过程叫做提交。将写完后的文档先添加到暂存区,然后再写日志提交。每一次提交产生一个节点。![image-20250708175643517](./pictures/image-20250708175643517.png)![image-20250708181530873](./pictures/image-20250708181530873.png) + + - **重置**(将修改后在未暂存区的东西,恢复修改前的版本) + + ![image-20250708181118121](./pictures/image-20250708181118121.png) + + - **回滚提交**:是指将改动的代码提交到本地仓库,但未推送到远端仓库的时候 + + - **重置当前分支到此次提交**:是指将改动的代码提交到本地仓库后,并已推送到远端仓库的时候 + +- **分支相关操作** + + - **新建分支**:创建的分支和主分支是完全一样的东西,新建分支旁边有圈代表分支激活,东西保存在该分支当中。 + + ![image-20250708182630161](./pictures/image-20250708182630161.png) + + - **合并分支** + + 激活master,选择要合并的支线,点击确定,将支线的所有变化的节点打包创建一个新节点合并过去。 + + ![image-20250708183742264](./pictures/image-20250708183742264.png) + + ![](./pictures/image-20250708183826186.png)![image-20250708184116528](./pictures/image-20250708184116528.png) + + - 变基 + + ![image-20250708184441709](./pictures/image-20250708184441709.png) + + 以分支为基合并到master里面 + + ![image-20250708184812262](./pictures/image-20250708184812262.png) + + 将之前的提交合并后再并入master + + ![image-20250708185604586](./pictures/image-20250708185604586.png) + + - **删除分支** + + 第一步先激活主分支 + + ![image-20250708184916183](./pictures/image-20250708184916183.png)· + + + + - **切换分支** + + 双击分支名字,出现小圆圈为激活状态。 + + - **制造冲突** + + ![image-20250708190410001](./pictures/image-20250708190410001.png) + + - **解决冲突** + + 在需要提交的文件里面自己手动保留要更改的内容,然后鼠标右键选择已经解决冲突。还有一种方式是以我为准就是保存master的,以别人为准就是合并时候保存分支的。 + + - **拉取** + + 选择从远端仓库中哪个分支获取。 + + ![image-20250708193822773](./pictures/image-20250708193822773.png) + + - **推送** + + 选择要发送到远端仓库的分支,点击推送。 + + ![image-20250708193624574](./pictures/image-20250708193624574.png) + +- 其他 + + - 书写忽略文件 + + ![image-20250708191109627](./pictures/image-20250708191109627.png)或者在这个隐藏文件中添加忽略的东西,可以是精确文件名,也可以是某一类后缀如*.txt,或者某个文件夹下的文件如/abc + + ![image-20250708191157488](./pictures/image-20250708191157488.png) + + - 停止跟踪 + + ![image-20250708194308960](./pictures/image-20250708194308960.png) + + 停止跟踪后就不在受到版本管控 + + - 创建补丁 + + ![image-20250708201504400](./pictures/image-20250708201504400.png) + + - 应用补丁 + + ![image-20250708201320222](./pictures/image-20250708201320222.png) + + - 贮藏 + + ![image-20250708200138749](./pictures/image-20250708200138749.png)贮藏相当于保留这一次更改到贮藏区域,但是不提交,以后的更改还是争对上一次提交。 + + - __丢弃__:放弃之前修改的文件,恢复上一次提交状态 + + ![image-20250708195933808](./pictures/image-20250708195933808.png) + + - **移除**:(直接删除文件) + + ![image-20250708195200903](./pictures/image-20250708195200903.png) + + - 创建标签:(方便快速找到) + + ![image-20250708194852689](./pictures/image-20250708194852689.png) + + - 删除标签 + + ![image-20250708195022006](./pictures/image-20250708195022006.png) + + \ No newline at end of file diff --git a/SourceTree/pictures/image-20250708155841408.png b/SourceTree/pictures/image-20250708155841408.png new file mode 100644 index 0000000..86b8504 Binary files /dev/null and b/SourceTree/pictures/image-20250708155841408.png differ diff --git a/SourceTree/pictures/image-20250708155944815.png b/SourceTree/pictures/image-20250708155944815.png new file mode 100644 index 0000000..008a238 Binary files /dev/null and b/SourceTree/pictures/image-20250708155944815.png differ diff --git a/SourceTree/pictures/image-20250708160256337.png b/SourceTree/pictures/image-20250708160256337.png new file mode 100644 index 0000000..ce6f2bd Binary files /dev/null and b/SourceTree/pictures/image-20250708160256337.png differ diff --git a/SourceTree/pictures/image-20250708160838627.png b/SourceTree/pictures/image-20250708160838627.png new file mode 100644 index 0000000..f708312 Binary files /dev/null and b/SourceTree/pictures/image-20250708160838627.png differ diff --git a/SourceTree/pictures/image-20250708160913541.png b/SourceTree/pictures/image-20250708160913541.png new file mode 100644 index 0000000..4840320 Binary files /dev/null and b/SourceTree/pictures/image-20250708160913541.png differ diff --git a/SourceTree/pictures/image-20250708161232619.png b/SourceTree/pictures/image-20250708161232619.png new file mode 100644 index 0000000..e746c51 Binary files /dev/null and b/SourceTree/pictures/image-20250708161232619.png differ diff --git a/SourceTree/pictures/image-20250708162512921.png b/SourceTree/pictures/image-20250708162512921.png new file mode 100644 index 0000000..3a535f5 Binary files /dev/null and b/SourceTree/pictures/image-20250708162512921.png differ diff --git a/SourceTree/pictures/image-20250708162631685.png b/SourceTree/pictures/image-20250708162631685.png new file mode 100644 index 0000000..8444f0c Binary files /dev/null and b/SourceTree/pictures/image-20250708162631685.png differ diff --git a/SourceTree/pictures/image-20250708170825330.png b/SourceTree/pictures/image-20250708170825330.png new file mode 100644 index 0000000..1bb5f81 Binary files /dev/null and b/SourceTree/pictures/image-20250708170825330.png differ diff --git a/SourceTree/pictures/image-20250708170902654.png b/SourceTree/pictures/image-20250708170902654.png new file mode 100644 index 0000000..e9a2033 Binary files /dev/null and b/SourceTree/pictures/image-20250708170902654.png differ diff --git a/SourceTree/pictures/image-20250708171125862.png b/SourceTree/pictures/image-20250708171125862.png new file mode 100644 index 0000000..faa3d7a Binary files /dev/null and b/SourceTree/pictures/image-20250708171125862.png differ diff --git a/SourceTree/pictures/image-20250708175643517.png b/SourceTree/pictures/image-20250708175643517.png new file mode 100644 index 0000000..80314e7 Binary files /dev/null and b/SourceTree/pictures/image-20250708175643517.png differ diff --git a/SourceTree/pictures/image-20250708181118121.png b/SourceTree/pictures/image-20250708181118121.png new file mode 100644 index 0000000..4498b7d Binary files /dev/null and b/SourceTree/pictures/image-20250708181118121.png differ diff --git a/SourceTree/pictures/image-20250708181530873.png b/SourceTree/pictures/image-20250708181530873.png new file mode 100644 index 0000000..4706f58 Binary files /dev/null and b/SourceTree/pictures/image-20250708181530873.png differ diff --git a/SourceTree/pictures/image-20250708182630161.png b/SourceTree/pictures/image-20250708182630161.png new file mode 100644 index 0000000..49a1ef8 Binary files /dev/null and b/SourceTree/pictures/image-20250708182630161.png differ diff --git a/SourceTree/pictures/image-20250708183742264.png b/SourceTree/pictures/image-20250708183742264.png new file mode 100644 index 0000000..98e9bbc Binary files /dev/null and b/SourceTree/pictures/image-20250708183742264.png differ diff --git a/SourceTree/pictures/image-20250708183826186.png b/SourceTree/pictures/image-20250708183826186.png new file mode 100644 index 0000000..36e5aea Binary files /dev/null and b/SourceTree/pictures/image-20250708183826186.png differ diff --git a/SourceTree/pictures/image-20250708184109673.png b/SourceTree/pictures/image-20250708184109673.png new file mode 100644 index 0000000..092aff0 Binary files /dev/null and b/SourceTree/pictures/image-20250708184109673.png differ diff --git a/SourceTree/pictures/image-20250708184116528.png b/SourceTree/pictures/image-20250708184116528.png new file mode 100644 index 0000000..092aff0 Binary files /dev/null and b/SourceTree/pictures/image-20250708184116528.png differ diff --git a/SourceTree/pictures/image-20250708184441709.png b/SourceTree/pictures/image-20250708184441709.png new file mode 100644 index 0000000..e4dee9c Binary files /dev/null and b/SourceTree/pictures/image-20250708184441709.png differ diff --git a/SourceTree/pictures/image-20250708184812262.png b/SourceTree/pictures/image-20250708184812262.png new file mode 100644 index 0000000..d317efc Binary files /dev/null and b/SourceTree/pictures/image-20250708184812262.png differ diff --git a/SourceTree/pictures/image-20250708184916183.png b/SourceTree/pictures/image-20250708184916183.png new file mode 100644 index 0000000..662b660 Binary files /dev/null and b/SourceTree/pictures/image-20250708184916183.png differ diff --git a/SourceTree/pictures/image-20250708185604586.png b/SourceTree/pictures/image-20250708185604586.png new file mode 100644 index 0000000..58ca6d2 Binary files /dev/null and b/SourceTree/pictures/image-20250708185604586.png differ diff --git a/SourceTree/pictures/image-20250708190410001.png b/SourceTree/pictures/image-20250708190410001.png new file mode 100644 index 0000000..485051a Binary files /dev/null and b/SourceTree/pictures/image-20250708190410001.png differ diff --git a/SourceTree/pictures/image-20250708191109627.png b/SourceTree/pictures/image-20250708191109627.png new file mode 100644 index 0000000..6d84eac Binary files /dev/null and b/SourceTree/pictures/image-20250708191109627.png differ diff --git a/SourceTree/pictures/image-20250708191157488.png b/SourceTree/pictures/image-20250708191157488.png new file mode 100644 index 0000000..f29b064 Binary files /dev/null and b/SourceTree/pictures/image-20250708191157488.png differ diff --git a/SourceTree/pictures/image-20250708192038104.png b/SourceTree/pictures/image-20250708192038104.png new file mode 100644 index 0000000..b736b76 Binary files /dev/null and b/SourceTree/pictures/image-20250708192038104.png differ diff --git a/SourceTree/pictures/image-20250708193624574.png b/SourceTree/pictures/image-20250708193624574.png new file mode 100644 index 0000000..909c734 Binary files /dev/null and b/SourceTree/pictures/image-20250708193624574.png differ diff --git a/SourceTree/pictures/image-20250708193822773.png b/SourceTree/pictures/image-20250708193822773.png new file mode 100644 index 0000000..00be02e Binary files /dev/null and b/SourceTree/pictures/image-20250708193822773.png differ diff --git a/SourceTree/pictures/image-20250708194308960.png b/SourceTree/pictures/image-20250708194308960.png new file mode 100644 index 0000000..182cb1e Binary files /dev/null and b/SourceTree/pictures/image-20250708194308960.png differ diff --git a/SourceTree/pictures/image-20250708194844848.png b/SourceTree/pictures/image-20250708194844848.png new file mode 100644 index 0000000..f998262 Binary files /dev/null and b/SourceTree/pictures/image-20250708194844848.png differ diff --git a/SourceTree/pictures/image-20250708194852689.png b/SourceTree/pictures/image-20250708194852689.png new file mode 100644 index 0000000..f998262 Binary files /dev/null and b/SourceTree/pictures/image-20250708194852689.png differ diff --git a/SourceTree/pictures/image-20250708195022006.png b/SourceTree/pictures/image-20250708195022006.png new file mode 100644 index 0000000..1b5d61e Binary files /dev/null and b/SourceTree/pictures/image-20250708195022006.png differ diff --git a/SourceTree/pictures/image-20250708195200903.png b/SourceTree/pictures/image-20250708195200903.png new file mode 100644 index 0000000..12523d1 Binary files /dev/null and b/SourceTree/pictures/image-20250708195200903.png differ diff --git a/SourceTree/pictures/image-20250708195933808.png b/SourceTree/pictures/image-20250708195933808.png new file mode 100644 index 0000000..bdaad36 Binary files /dev/null and b/SourceTree/pictures/image-20250708195933808.png differ diff --git a/SourceTree/pictures/image-20250708200138749.png b/SourceTree/pictures/image-20250708200138749.png new file mode 100644 index 0000000..d7fd5dc Binary files /dev/null and b/SourceTree/pictures/image-20250708200138749.png differ diff --git a/SourceTree/pictures/image-20250708201320222.png b/SourceTree/pictures/image-20250708201320222.png new file mode 100644 index 0000000..83e79b5 Binary files /dev/null and b/SourceTree/pictures/image-20250708201320222.png differ diff --git a/SourceTree/pictures/image-20250708201504400.png b/SourceTree/pictures/image-20250708201504400.png new file mode 100644 index 0000000..5fa4455 Binary files /dev/null and b/SourceTree/pictures/image-20250708201504400.png differ diff --git a/SourceTree/pictures/image-20250709090736034.png b/SourceTree/pictures/image-20250709090736034.png new file mode 100644 index 0000000..afc3fbe Binary files /dev/null and b/SourceTree/pictures/image-20250709090736034.png differ diff --git a/UnitTest/UnitTestVisualStudio.md b/UnitTest/UnitTestVisualStudio.md new file mode 100644 index 0000000..044c1bf --- /dev/null +++ b/UnitTest/UnitTestVisualStudio.md @@ -0,0 +1,76 @@ +# 单元测试相关知识点 + +## 概念 + +- 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。编写单元测试是用来验证这段代码的行为是否与我们期望的一致。 + +## 单元测试 +- 单元测试创建 + + - 启动Visual Studio + + 首先,打开Visual Studio并创建一个新的解决方案或打开现有的解决方案。确保你的项目已经准备好进行测试。 + + - 添加测试项目 + + - 在解决方案资源管理器中,右键点击解决方案名称,选择“添加” -> “新建项目”。在弹出的对话框中,选择“测试”类别,然后选择“单元测试项目”。为测试项目命名并点击“创建”。 + + - 引用被测试项目 + + 在新创建的测试项目中,右键点击“引用”并选择“添加引用”。在弹出的对话框中,选择你的主要项目,这样测试项目就能访问主要项目中的类和方法。 + +- 代码覆盖度 + + 1. 行覆盖 + + 行覆盖(又叫语句覆盖)就是通过设计一定量的测试用例,保证被测试的方法每一行代码都会被执行一遍。 + + 2. 分支覆盖 + + 判定覆盖的含义就是代码里每一个判定都要走一次true,一次false。 + + 3. 条件覆盖 + + 条件覆盖和判定覆盖类似,不过判定覆盖着眼于整个判定语句,而条件覆盖则着眼于某个判断条件,条件覆盖需要保证每个判断条件的true false都要覆盖到,而不是整个判定语句。 + + 4. 路径覆盖 + + ![image-20250711131114258](./pictures/image-20250711131114258.png) + + 路径覆盖这个顾名思义就是覆盖所有可能执行的路径。 + + ``` + 路径1:1->3->5; + + 路径2:1->2->5; + + 路径3: 1->3->4; + + 路径4: 1->2->4; + ``` + +- 运行性能 + + ![image-20250710140456749](./pictures/image-20250710140456749.png) + +- 测试样例书写 + + ![image-20250710140237090](./pictures/image-20250710140237090.png) + + 在该代码框架内写单元测试的程序。 + +- 单元测试的调试 + + ![image-20250710140347052](./pictures/image-20250710140347052.png) + +![image-20250711131643794](./pictures/image-20250711131643794.png) + +**常见的断言** + +| 函数名 | 说明 | 示例 | +| :-------------------------: | :------------------------------: | :------------------------------------: | +| `Assert::IsTrue(x)` | 判断表达式为 true | `Assert::IsTrue(5 > 2);` | +| `Assert::IsFalse(x)` | 判断表达式为 false | `Assert::IsFalse(5 < 2);` | +| `Assert::AreEqual(a, b)` | 判断 a == b | `Assert::AreEqual(7, add(2, 5));` | +| `Assert::AreNotEqual(a, b)` | 判断 a != b | `Assert::AreNotEqual(3, add(1, 1));` | +| `Assert::Fail()` | 强制测试失败(用于调试或占位) | `Assert::Fail(L"Not implemented");` | \ No newline at end of file diff --git a/UnitTest/pictures/image-20250710140237090.png b/UnitTest/pictures/image-20250710140237090.png new file mode 100644 index 0000000..5872467 Binary files /dev/null and b/UnitTest/pictures/image-20250710140237090.png differ diff --git a/UnitTest/pictures/image-20250710140347052.png b/UnitTest/pictures/image-20250710140347052.png new file mode 100644 index 0000000..c96b665 Binary files /dev/null and b/UnitTest/pictures/image-20250710140347052.png differ diff --git a/UnitTest/pictures/image-20250710140456749.png b/UnitTest/pictures/image-20250710140456749.png new file mode 100644 index 0000000..425b70b Binary files /dev/null and b/UnitTest/pictures/image-20250710140456749.png differ diff --git a/UnitTest/pictures/image-20250711131114258.png b/UnitTest/pictures/image-20250711131114258.png new file mode 100644 index 0000000..a58658e Binary files /dev/null and b/UnitTest/pictures/image-20250711131114258.png differ diff --git a/UnitTest/pictures/image-20250711131643794.png b/UnitTest/pictures/image-20250711131643794.png new file mode 100644 index 0000000..99a82a1 Binary files /dev/null and b/UnitTest/pictures/image-20250711131643794.png differ diff --git a/VisualStudio/VisualStudio.md b/VisualStudio/VisualStudio.md new file mode 100644 index 0000000..d0d5b9e --- /dev/null +++ b/VisualStudio/VisualStudio.md @@ -0,0 +1,162 @@ +# VisualStudio相关知识点 +## 工程创建 +- 工程相关 + + - 创建项目 + + ![image-20250709125108324](./pictures/image-20250709125108324.png) + + - 打开项目 + + ![image-20250710085645958](./pictures/image-20250710085645958.png) + + ![image-20250710085959302](./pictures/image-20250710085959302.png) + + - 加载/卸载项目 + + 加载项目 + + ![image-20250711084705933](./pictures/image-20250711084705933.png) + + 卸载项目 + + ![image-20250711084623468](./pictures/image-20250711084623468.png) + + - 设置启动项 + + ![image-20250710090403869](./pictures/image-20250710090403869.png) + +- 解决方案相关 + + - 添加项目 + + ![image-20250710090217653](./pictures/image-20250710090217653.png) + +- 文件相关 + + - 创建文件 + + ![image-20250710090809897](./pictures/image-20250710090809897.png) + + - 打开文件 + + ![image-20250710090916630](./pictures/image-20250710090916630.png) + + - 包括/排除文件 + + 排除文件 + + ![image-20250710095042067](./pictures/image-20250710095042067.png) + + ~~包括就是将排除的文件添加回去~~ + +## 工程配置 +- 解决方案配置 + + 1. Debug:用于开发和调试应用程序。调试版本包含完整的调试信息,可以用于在调试模式下运行程序。 + + 2. Release:用于发布生产环境中的应用程序。发布版本经过优化,通常比调试版本快,但不包含调试信息。 + + ![image-20250710100448716](./pictures/image-20250710100448716.png) + +- 平台配置 + + ![image-20250710091509521](./pictures/image-20250710091509521.png) + +- 项目类型配置 + + ![image-20250710091420578](./pictures/image-20250710091420578.png) + +- 路径配置 + - 输出路径配置 + + ![image-20250710092030740](./pictures/image-20250710092030740.png) + + - 头文件路径配置 + + ![image-20250710092136181](./pictures/image-20250710092136181.png) + + - 源文件路径配置 + + ![image-20250710092209778](./pictures/image-20250710092209778.png) + + - 库文件路径配置 + + ![image-20250710092232688](./pictures/image-20250710092232688.png) + +- 宏定义 + + ![image-20250710092856967](./pictures/image-20250710092856967.png) + + ![image-20250710092931584](./pictures/image-20250710092931584.png) + + ![image-20250710092821156](./pictures/image-20250710092821156.png) + +- 运行库配置 + + ![image-20250710093134976](./pictures/image-20250710093134976.png) + +- 调用库配置 + +- 安全检查 + + ![image-20250710093220851](./pictures/image-20250710093220851.png) + +## 工程调试 +- 断点 + + 1. 断点创建 + - 单击旁边栏出现红点,即创建断点。 + + 2. 断点删除 + - 单击红点,红点消失,即删除断点。 + + 3. 断点禁用 + - ALT+F9,或者单击鼠标右键 + + 4. 断点启用 + - ALT+F9,或者单击鼠标左键 + 5. 条件断点 + - ![image-20250707182318934](C:\Users\wsk\AppData\Roaming\Typora\typora-user-images\image-20250707182318934.png) + - 单击鼠标右键 + + + +- 窗口 + - 监视窗口 + + ![image-20250710093722255](./pictures/image-20250710093722255.png) + + - 内存窗口 + + ![image-20250710093824991](./pictures/image-20250710093824991.png) + + - 线程窗口 + + ![image-20250710093937339](./pictures/image-20250710093937339.png) + + - 调用堆栈窗口 + + ![image-20250710094042822](./pictures/image-20250710094042822.png) + +- 单步调试 + - 全速运行:点击继续符号,他就在两个相邻断点间,迅速执行。 + + ![image-20250710094412173](./pictures/image-20250710094412173.png) + + - 重新运行:点击重新运行或者CTRL+SHIFT+F5就重新运行 + + ![image-20250710094246863](./pictures/image-20250710094246863.png) + + - 逐过程:点击逐过程或者F10,逐过程是将主函数里面的子函数当作一个过程,不管子函数里面又引用了多少子函数。 + + + + + + ![image-20250710094211996](./pictures/image-20250710094211996.png) + + - 逐语句:点击逐语句或者F11,逐语句是将主函数里面的一个一个语句运行,如遇子函数,进入子函数又逐语句运行。 + + ![image-20250710094139698](./pictures/image-20250710094139698.png) + diff --git a/VisualStudio/pictures/image-20250709124938076.png b/VisualStudio/pictures/image-20250709124938076.png new file mode 100644 index 0000000..a517228 Binary files /dev/null and b/VisualStudio/pictures/image-20250709124938076.png differ diff --git a/VisualStudio/pictures/image-20250709125108324.png b/VisualStudio/pictures/image-20250709125108324.png new file mode 100644 index 0000000..34a6a54 Binary files /dev/null and b/VisualStudio/pictures/image-20250709125108324.png differ diff --git a/VisualStudio/pictures/image-20250710085645958.png b/VisualStudio/pictures/image-20250710085645958.png new file mode 100644 index 0000000..6020038 Binary files /dev/null and b/VisualStudio/pictures/image-20250710085645958.png differ diff --git a/VisualStudio/pictures/image-20250710085706700.png b/VisualStudio/pictures/image-20250710085706700.png new file mode 100644 index 0000000..bd6918e Binary files /dev/null and b/VisualStudio/pictures/image-20250710085706700.png differ diff --git a/VisualStudio/pictures/image-20250710085959302.png b/VisualStudio/pictures/image-20250710085959302.png new file mode 100644 index 0000000..9a73dd9 Binary files /dev/null and b/VisualStudio/pictures/image-20250710085959302.png differ diff --git a/VisualStudio/pictures/image-20250710090102193.png b/VisualStudio/pictures/image-20250710090102193.png new file mode 100644 index 0000000..fc1ca14 Binary files /dev/null and b/VisualStudio/pictures/image-20250710090102193.png differ diff --git a/VisualStudio/pictures/image-20250710090217653.png b/VisualStudio/pictures/image-20250710090217653.png new file mode 100644 index 0000000..620d4d1 Binary files /dev/null and b/VisualStudio/pictures/image-20250710090217653.png differ diff --git a/VisualStudio/pictures/image-20250710090326053.png b/VisualStudio/pictures/image-20250710090326053.png new file mode 100644 index 0000000..4f5bb11 Binary files /dev/null and b/VisualStudio/pictures/image-20250710090326053.png differ diff --git a/VisualStudio/pictures/image-20250710090403869.png b/VisualStudio/pictures/image-20250710090403869.png new file mode 100644 index 0000000..c89e8aa Binary files /dev/null and b/VisualStudio/pictures/image-20250710090403869.png differ diff --git a/VisualStudio/pictures/image-20250710090809897.png b/VisualStudio/pictures/image-20250710090809897.png new file mode 100644 index 0000000..b247dac Binary files /dev/null and b/VisualStudio/pictures/image-20250710090809897.png differ diff --git a/VisualStudio/pictures/image-20250710090916630.png b/VisualStudio/pictures/image-20250710090916630.png new file mode 100644 index 0000000..7f13629 Binary files /dev/null and b/VisualStudio/pictures/image-20250710090916630.png differ diff --git a/VisualStudio/pictures/image-20250710091420578.png b/VisualStudio/pictures/image-20250710091420578.png new file mode 100644 index 0000000..d1f3675 Binary files /dev/null and b/VisualStudio/pictures/image-20250710091420578.png differ diff --git a/VisualStudio/pictures/image-20250710091509521.png b/VisualStudio/pictures/image-20250710091509521.png new file mode 100644 index 0000000..bf83118 Binary files /dev/null and b/VisualStudio/pictures/image-20250710091509521.png differ diff --git a/VisualStudio/pictures/image-20250710092030740.png b/VisualStudio/pictures/image-20250710092030740.png new file mode 100644 index 0000000..b83f7b3 Binary files /dev/null and b/VisualStudio/pictures/image-20250710092030740.png differ diff --git a/VisualStudio/pictures/image-20250710092136181.png b/VisualStudio/pictures/image-20250710092136181.png new file mode 100644 index 0000000..2d33437 Binary files /dev/null and b/VisualStudio/pictures/image-20250710092136181.png differ diff --git a/VisualStudio/pictures/image-20250710092209778.png b/VisualStudio/pictures/image-20250710092209778.png new file mode 100644 index 0000000..4f40cfa Binary files /dev/null and b/VisualStudio/pictures/image-20250710092209778.png differ diff --git a/VisualStudio/pictures/image-20250710092232688.png b/VisualStudio/pictures/image-20250710092232688.png new file mode 100644 index 0000000..0fc2eb1 Binary files /dev/null and b/VisualStudio/pictures/image-20250710092232688.png differ diff --git a/VisualStudio/pictures/image-20250710092821156.png b/VisualStudio/pictures/image-20250710092821156.png new file mode 100644 index 0000000..ac0b7e5 Binary files /dev/null and b/VisualStudio/pictures/image-20250710092821156.png differ diff --git a/VisualStudio/pictures/image-20250710092856967.png b/VisualStudio/pictures/image-20250710092856967.png new file mode 100644 index 0000000..953fe3d Binary files /dev/null and b/VisualStudio/pictures/image-20250710092856967.png differ diff --git a/VisualStudio/pictures/image-20250710092931584.png b/VisualStudio/pictures/image-20250710092931584.png new file mode 100644 index 0000000..d0cc73b Binary files /dev/null and b/VisualStudio/pictures/image-20250710092931584.png differ diff --git a/VisualStudio/pictures/image-20250710093134976.png b/VisualStudio/pictures/image-20250710093134976.png new file mode 100644 index 0000000..4955c11 Binary files /dev/null and b/VisualStudio/pictures/image-20250710093134976.png differ diff --git a/VisualStudio/pictures/image-20250710093220851.png b/VisualStudio/pictures/image-20250710093220851.png new file mode 100644 index 0000000..c916383 Binary files /dev/null and b/VisualStudio/pictures/image-20250710093220851.png differ diff --git a/VisualStudio/pictures/image-20250710093722255.png b/VisualStudio/pictures/image-20250710093722255.png new file mode 100644 index 0000000..a324c53 Binary files /dev/null and b/VisualStudio/pictures/image-20250710093722255.png differ diff --git a/VisualStudio/pictures/image-20250710093824991.png b/VisualStudio/pictures/image-20250710093824991.png new file mode 100644 index 0000000..7b39ad1 Binary files /dev/null and b/VisualStudio/pictures/image-20250710093824991.png differ diff --git a/VisualStudio/pictures/image-20250710093937339.png b/VisualStudio/pictures/image-20250710093937339.png new file mode 100644 index 0000000..72d9f24 Binary files /dev/null and b/VisualStudio/pictures/image-20250710093937339.png differ diff --git a/VisualStudio/pictures/image-20250710094042822.png b/VisualStudio/pictures/image-20250710094042822.png new file mode 100644 index 0000000..8baa75c Binary files /dev/null and b/VisualStudio/pictures/image-20250710094042822.png differ diff --git a/VisualStudio/pictures/image-20250710094139698.png b/VisualStudio/pictures/image-20250710094139698.png new file mode 100644 index 0000000..dd2dee9 Binary files /dev/null and b/VisualStudio/pictures/image-20250710094139698.png differ diff --git a/VisualStudio/pictures/image-20250710094211996.png b/VisualStudio/pictures/image-20250710094211996.png new file mode 100644 index 0000000..0a4e50a Binary files /dev/null and b/VisualStudio/pictures/image-20250710094211996.png differ diff --git a/VisualStudio/pictures/image-20250710094246863.png b/VisualStudio/pictures/image-20250710094246863.png new file mode 100644 index 0000000..c12edb8 Binary files /dev/null and b/VisualStudio/pictures/image-20250710094246863.png differ diff --git a/VisualStudio/pictures/image-20250710094412173.png b/VisualStudio/pictures/image-20250710094412173.png new file mode 100644 index 0000000..3f65153 Binary files /dev/null and b/VisualStudio/pictures/image-20250710094412173.png differ diff --git a/VisualStudio/pictures/image-20250710095042067.png b/VisualStudio/pictures/image-20250710095042067.png new file mode 100644 index 0000000..6a04fc6 Binary files /dev/null and b/VisualStudio/pictures/image-20250710095042067.png differ diff --git a/VisualStudio/pictures/image-20250710095516898.png b/VisualStudio/pictures/image-20250710095516898.png new file mode 100644 index 0000000..ee4f373 Binary files /dev/null and b/VisualStudio/pictures/image-20250710095516898.png differ diff --git a/VisualStudio/pictures/image-20250710100448716.png b/VisualStudio/pictures/image-20250710100448716.png new file mode 100644 index 0000000..e3f4e30 Binary files /dev/null and b/VisualStudio/pictures/image-20250710100448716.png differ diff --git a/VisualStudio/pictures/image-20250711084623468.png b/VisualStudio/pictures/image-20250711084623468.png new file mode 100644 index 0000000..04e7955 Binary files /dev/null and b/VisualStudio/pictures/image-20250711084623468.png differ diff --git a/VisualStudio/pictures/image-20250711084705933.png b/VisualStudio/pictures/image-20250711084705933.png new file mode 100644 index 0000000..0ece1b7 Binary files /dev/null and b/VisualStudio/pictures/image-20250711084705933.png differ