diff --git a/IAR/IAR.md b/IAR/IAR.md index 4f45b27..26809f2 100644 --- a/IAR/IAR.md +++ b/IAR/IAR.md @@ -176,19 +176,36 @@ place in RAM_region { readwrite, /* 初始化变量 */ ![image-20250715131503129](./pictures/image-20250715131503129.png) -| 选项 | 作用 | 建议使用情况 | -| ------------------- | ------------------------ | ---------------------- | -| Verify Download | 下载后自动校验程序正确性 | 需要确保下载成功时开启 | -| Suppress Download | 禁止下载程序 | 只想调试已有程序时开启 | -| Use Flash Loader(s) | 使用特定Flash烧录程序 | 编程内部闪存时勾选 | +| 选项 | 作用 | 建议使用情况 | +| ------------------- | ------------------------------------------------------------ | ---------------------- | +| Verify Download | 自动读取芯片内容并与主机上的HEX/ELF文件进行比对,确保数据一致,防止烧录出错。 | 需要确保下载成功时开启 | +| Suppress Download | 调试器连接后,只进行仿真或断点分析,不实际烧录代码。 | 只想调试已有程序时开启 | +| Use Flash Loader(s) | Flash Loader 文件将程序写入芯片的内部或外部 Flash 存储器。 | 编程内部闪存时勾选 | `.board` 文件是IAR Embedded Workbench中用来描述目标硬件板(开发板)配置的文件。 + - 它包含调试器接口信息(如JTAG/SWD设置)、时钟配置、芯片类型、连接参数等硬件相关的设定。 - IDE通过 `.board` 文件知道如何与目标板正确通信和调试。 **Mass Erase** 指的是对目标芯片整个闪存区域进行**全部擦除**的操作。 - 该选项开启后,调试器在烧写程序前,会先对芯片内部所有闪存区域执行一次彻底擦除,确保没有残留旧数据。 + + +| 项目 | **J-Link (`SEGGER`)** | **ST-Link (ST官方)** | **i-Jet (`IAR Systems`)** | +| :------------------: | :--------------------------------: | :-------------------------: | :----------------------------: | +| **主要用途** | 通用 `ARM MCU` 调试/烧录 | `STM32` 专用调试器 | `IAR` 用户的高端调试器 | +| **支持芯片范围** | 多厂商 `ARM Cortex-M/R/A` | 仅 `STM32` 系列 | 多厂商 | +| **连接线数 (`SWD`)** | 最少 4 根,推荐 5~6 根 | 最少 4 根,推荐 5~6 根 | 最少 4 根,推荐 5~6 根 | +| **烧录/调试速度** | 快速(`Plus 15MHz+`) | `v2` 较慢,`v3` 提升明显 | 极快 | +| **实时调试功能** | ✅ 支持 `RTT`、`SWO`、`Trace` | ❌ `RTT`,支持 `SWO`(部分) | ✅ 高级 `trace`、功耗分析 | +| **串口/调试打印** | `RTT` / `SWO` | `SWO`(支持 `printf`) | `SWO`/` Trace`(集成于 `IAR`) | +| **兼容 IDE** | `Keil`,` IAR`,` VSCode`,` CubeIDE` | `CubeIDE`,` Keil`,` IAR` | ✅ 最佳支持 `IAR`(专用设计) | +| **授权限制** | `EDU` 版限非商业用途 | 无限制(开发板自带免费) | 商用授权,一般随 `IAR` 捆绑 | +| **价格** | 中等 | 较低 | 较高 | + + + ### 库相关配置 ![image-20250709100552114](./pictures/image-20250709100552114.png) @@ -252,6 +269,17 @@ place in RAM_region { readwrite, /* 初始化变量 */ 选择数据断点,可以选择是读触发还是写触发,同时可以结合条件断点使用。 +| 类型 | 触发条件 | 用途 | +| ------------ | ----------------------------------------- | ------------------ | +| **数据断点** | **变量的值或地址被访问(读/写)** 时触发 | 监控变量的读写 | +| **条件断点** | **满足特定条件时(如变量值==10)** 才中断 | 控制断点的触发时机 | + +### 数据断点的功能作用: + +- 监控内存某个地址的**读写行为** +- 追踪变量在哪被意外修改 +- 调试“野指针”或“内存越界”问题 + ### 监控信息 ![image-20250709101836850](./pictures/image-20250709101836850.png) @@ -262,44 +290,43 @@ place in RAM_region { readwrite, /* 初始化变量 */ -| 寄存器 | 名称 | 类型 | 说明 | -| ------------ | ------------------------------------- | ------------ | ------------------------------------------------------------ | -| **`R0–R3`** | 通用寄存器 | 通用 | 用于函数参数传递、临时数据处理等。R0 通常作为函数返回值寄存器。 | -| **R4–R11** | 通用寄存器 | 被调用者保存 | 用于本地变量、长生命周期数据。函数调用后,值需由被调用函数负责保存。 | -| **R12** | Intra-Procedure-call scratch register | 特定用途 | 通常由编译器用于中间值,调用过程临时数据,不保证保存。 | -| **R13 (SP)** | Stack Pointer | 特殊 | 栈指针,指向当前栈顶。用于局部变量、函数调用等。可分为 MSP/PSP。 | -| **R14 (LR)** | Link Register | 特殊 | 链接寄存器,存储函数返回地址。调用 `BL` 指令时保存返回点。 | -| **R15 (PC)** | Program Counter | 特殊 | 程序计数器,存储当前指令地址。控制程序执行流程。 | +| 寄存器 | 名称 | 类型 | 说明 | +| :------------: | :-----------------------------------: | :----------: | :----------------------------------------------------------: | +| **`R0–R3`** | 通用寄存器 | 通用 | 用于函数参数传递、临时数据处理等。R0 通常作为函数返回值寄存器。 | +| **`R4–R11`** | 通用寄存器 | 被调用者保存 | 用于本地变量、长生命周期数据。函数调用后,值需由被调用函数负责保存。 | +| **`R12`** | Intra-Procedure-call scratch register | 特定用途 | 通常由编译器用于中间值,调用过程临时数据,不保证保存。 | +| **`R14(LR)`** | Link Register | 特殊 | 链接寄存器,存储函数返回地址。调用 `BL` 指令时保存返回点。 | +| **`R15 (PC)`** | Program Counter | 特殊 | 程序计数器,存储当前指令地址。控制程序执行流程。 | -**R0–R3:参数 / 返回值 / 临时变量** +**`R0–R3`:参数 / 返回值 / 临时变量** -- 函数参数通过 R0~R3 传递(最多 4 个参数); -- 函数返回值一般通过 R0(或 R0~R1); -- 调用者需要保存这些值(Caller-saved); +- 函数参数通过 `R0~R3` 传递(最多 4 个参数); +- 函数返回值一般通过 `R0`(或` R0~R1`); +- 调用者需要保存这些值; ``` -c复制编辑int add(int a, int b) { +int add(int a, int b) { return a + b; // a→R0,b→R1,结果→R0 } ``` -**R4–R11:局部变量 / 被调用者保存** +**`R4–R11`:局部变量 / 被调用者保存** - 通常用于函数内部的变量或数据; -- 调用函数前由被调用者负责保存(Callee-saved); +- 调用函数前由被调用者负责保存; - 在嵌套调用中保持数据完整性。 ``` -c复制编辑void foo() { +void foo() { int x = 10; // 可能保存在 R4~R11 中 } ``` -**R12:临时 scratch 寄存器** +**`R12`:临时 scratch 寄存器** - 用于子程序中临时使用; - 不由任何函数负责保存; @@ -307,18 +334,18 @@ c复制编辑void foo() { - **R13(SP):栈指针 Stack Pointer** + **`R13(SP)`:栈指针 `Stack Pointer`** - 指向当前栈顶地址; - 控制函数调用/返回、局部变量压栈; - Cortex-M 支持两种 SP: - - MSP(Main Stack Pointer)— 默认上电使用; - - PSP(Process Stack Pointer)— RTOS 多线程任务使用; + - `MSP(Main Stack Pointer)`— 默认上电使用; + - `PSP(Process Stack Pointer)`— `RTOS` 多线程任务使用; - 使用 `MSR` 和 `MRS` 指令读写切换。 - **R14(LR):链接寄存器 Link Register** + **`R14(LR)`:链接寄存器 Link Register** - 存放函数返回地址; - 执行 `BL`(Branch with Link)时,PC 会跳转到函数地址,当前 PC 会保存到 LR; @@ -328,7 +355,7 @@ c复制编辑void foo() { -**R15(PC):程序计数器 Program Counter** +**`R15(PC)`:程序计数器 Program Counter** - 保存当前执行指令地址; - 所有分支、跳转指令都会修改 PC; @@ -414,10 +441,4 @@ c复制编辑void foo() { -| 指令 | 编译 | 下载 | 进入调试 | 从头开始运行 | 是否保留断点 | -| ---- | ---- | ---- | -------- | ------------ | ------------ | -| **Download and Debug** | ✅ | ✅ | ✅ | ✅ | ✅ | -| **Make & Restart Debugger** | ✅ | ❌(默认不下载) | ✅ | ✅ | ✅ | -| **Restart Debugger** | ❌ | ❌ | 已在调试中 | ✅ | ✅ | - [**参考文献**](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/SourceInSight/SourceInSight.md b/SourceInSight/SourceInSight.md index d824f24..06393f0 100644 --- a/SourceInSight/SourceInSight.md +++ b/SourceInSight/SourceInSight.md @@ -82,19 +82,43 @@ 常见四大窗口: -1. project Window:查看我们的工程所在文件夹以及文件夹下的文件 +1. project Window:查看我们的工程所在文件夹以及文件夹下的文件(项目窗口) + + - 显示当前项目中的所有源文件、头文件、库文件、组(Group)等结构。 + + - 可以进行添加、删除、重新组织源文件。 + + - 常用于“管理和构建项目结构”。 ![image-20250709122721155](./pictures/image-20250709122721155.png) -2. Symbol Window:用于查看我们开启的文件以及文件内所包含的函数 +2. Symbol Window:用于查看我们开启的文件以及文件内所包含的函数(符号窗口) + + 显示项目中所有的变量、函数、宏、类型等“符号”的定义。 + + 支持快速导航,比如双击跳转到变量定义。 + + 类似于 VSCode 的“Outline” 视图。 ![image-20250709122927280](./pictures/image-20250709122927280.png) -3. Context Window串口:用于查看,函数中某个参数与函数的关系 +3. Context Window串口:用于查看,函数中某个参数与函数的关系(上下文窗口) + + 显示当前代码所在的函数、命名空间、类的上下文路径。 + + 类似于“你当前在哪个作用域”。 + + 通常用于调试或阅读代码时的层级定位。 ![image-20250709123057307](./pictures/image-20250709123057307.png) -4. Relation Window窗口:用于查看函数以及参数所定义的位置 +4. Relation Window窗口:用于查看函数以及参数所定义的位置(关系窗口) + + 显示函数或变量之间的“调用关系”、“被调用关系”、“引用关系”。 + + 用于分析函数调用链、依赖关系。 + + 类似于“调用图”、“依赖图”。 ![image-20250709123227589](./pictures/image-20250709123227589.png) @@ -142,7 +166,7 @@ - **作用**:在整个工程或指定路径中查找文本(可正则) - **功能亮点**: - 可设置搜索路径、文件类型(*.c、*.h等) - - 可将结果导出为列表窗口 + - 可将结;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;果导出为列表窗口 - **适用场景**: - 搜索项目中所有文件中包含“某字符串”的位置 - **常用于**: diff --git a/SourceTree/Source Tree.md b/SourceTree/Source Tree.md index bf7e2be..aaf5eb5 100644 --- a/SourceTree/Source Tree.md +++ b/SourceTree/Source Tree.md @@ -47,12 +47,44 @@ Git是一个开源的分布式版本控制系统,它能够高效地处理从 ### 仓库相关操作 -#### **创建本地仓库** +#### **创建本地仓库**(修改) + +1. 有文件夹创建新文件 ***在浏览里面选择我们要创建本地仓库的文件夹。*** ![image-20250708170825330](./pictures/image-20250708170825330.png) +![image-20250716161207295](./pictures/image-20250716161207295.png) + +点击是 + +![image-20250716161240555](./pictures/image-20250716161240555.png) + +创建成功 + +![image-20250716161315531](./pictures/image-20250716161315531.png) + +浏览里面选择要创建仓库的文件夹,即可以在该文件夹建立一个仓库,生成.git文件。 + +2. 没有文件夹创建本地仓库 + + - 选择路径 + + ![image-20250716162208546](./pictures/image-20250716162208546.png) + + - 桌面出现文件夹 + + ![image-20250716162311987](./pictures/image-20250716162311987.png) + + - 仓库建立成功 + +![image-20250716162354532](./pictures/image-20250716162354532.png) + + + + + #### **打开本地仓库** ![image-20250708170902654](./pictures/image-20250708170902654.png) @@ -61,7 +93,7 @@ Git是一个开源的分布式版本控制系统,它能够高效地处理从 ![image-20250715083550523](./pictures/image-20250715083550523.png) -#### **克隆远程仓库** +#### **克隆远程仓库**(修改) **获取URL:http://gitea.xinje.cc/wangshunkui/kong.git** @@ -69,8 +101,24 @@ Git是一个开源的分布式版本控制系统,它能够高效地处理从 **克隆** +- 填写URL地址和Clone到的空文件夹 + ![image-20250708171125862](./pictures/image-20250708171125862.png) +- 远端的内容 + +![image-20250716162610646](./pictures/image-20250716162610646.png) + +![image-20250716162825962](./pictures/image-20250716162825962.png) + +- 点击克隆 + +![image-20250716162936996](./pictures/image-20250716162936996.png) + +- 实现结果 + + ![image-20250716163014791](./pictures/image-20250716163014791.png) + #### **获取** **获取是从远程仓库获取信息并同步至本地仓库(获取只会同步到本地仓库,不会更改工作文件)** @@ -87,23 +135,59 @@ Git是一个开源的分布式版本控制系统,它能够高效地处理从 注意:步骤四自己对远端电脑随便取个名就行。 +​ 在 `SourceTree` 中,**克隆远程仓库**是指从远程 Git 仓库中下载完整的项目代码和提交历史,创建一个新的本地项目副本;而**关联远程仓库**是指在本地已存在的 Git 仓库中,添加一个远程仓库地址,以便将本地代码推送到远程或从远程拉取更新。两者的主要区别在于:克隆用于从远程获取项目,自动建立关联并初始化本地项目;而关联远程用于让已有的本地项目与远程仓库建立联系,通常用于首次推送代码。 + ### **节点相关操作** #### **提交** 将工作区的内容放到仓库的这个过程叫做提交。将写完后的文档先添加到暂存区,然后再写日志提交。每一次提交产生一个节点。![image-20250708175643517](./pictures/image-20250708175643517.png)![image-20250708181530873](./pictures/image-20250708181530873.png) -#### 回滚提交 +#### 回滚提交(修改) “回滚提交”指的是对 Git 历史中的某个提交进行撤销、修改或恢复的操作。常见的回滚行为包括: - **撤销最近的提交** + - **恢复到某个旧的提交版本** + - **撤销某一次错误的提交(保留历史)** -回滚提交多步时候会产生冲突,所以这时候需要我们去解决冲突。 + - 回滚前 + + ![image-20250716164205932](./pictures/image-20250716164205932.png) + +![image-20250716163940888](./pictures/image-20250716163940888.png) + +![image-20250716164007116](./pictures/image-20250716164007116.png) + +- 回滚后 + +![image-20250716164356055](./pictures/image-20250716164356055.png) + +![image-20250716164339076](./pictures/image-20250716164339076.png) + + + +- 回滚的回滚 + + ![image-20250716164601226](./pictures/image-20250716164601226.png) + + ![image-20250716164542292](./pictures/image-20250716164542292.png) + +- 回滚到第一次回滚的回滚 + + ![image-20250716164703990](./pictures/image-20250716164703990.png) -![image-20250715084950287](./pictures/image-20250715084950287.png) + ![image-20250716164730426](./pictures/image-20250716164730426.png) + +- 回滚多部操作 + + ![image-20250716164948009](./pictures/image-20250716164948009.png) + + ![image-20250716165008026](./pictures/image-20250716165008026.png) + + 产生冲突,需要去解决冲突 #### **重置当前分支到此次提交** @@ -111,19 +195,37 @@ Git是一个开源的分布式版本控制系统,它能够高效地处理从 ![image-20250715085358478](./pictures/image-20250715085358478.png) -#### Source Tree三种合并和区别 +- + +#### Source Tree三种合并和区别(修改) 混合合并: -是指将此次提交回滚到指定的位置,但这个过程中不会将修改过的文件暂存到暂存区,而是将修改过的文件存放在未暂存文件区。 +![image-20250716165347055](./pictures/image-20250716165347055.png) + +![image-20250716165412325](./pictures/image-20250716165412325.png) + +混合合并以后文件文件保存到了未暂存区,提供一次修改机会。 强行合并: +![image-20250716165606528](./pictures/image-20250716165606528.png) + +![image-20250716165635842](./pictures/image-20250716165635842.png) + + + +![image-20250716165650392](./pictures/image-20250716165650392.png) + 是指将此次提交回滚到指定的位置,但这个过程中将直接丢弃之前修改的所有文件。 软合并: -软合并是指将此次提交回滚到指定提交位置,但这个过程中会将修改过的文件暂存到暂存区。 +![image-20250716165155337](./pictures/image-20250716165155337.png) + +![image-20250716165220392](./pictures/image-20250716165220392.png) + +软合并之后,文件保存到暂存区,给一次修改机会。 ### **分支相关操作** @@ -133,29 +235,52 @@ Git是一个开源的分布式版本控制系统,它能够高效地处理从 ![image-20250708182630161](./pictures/image-20250708182630161.png) -#### **合并分支** +#### **合并分支**(修改) 激活master,选择要合并的支线,点击确定,将支线的所有变化的节点打包创建一个新节点合并过去。 1. 切换到**目标分支**(如 `master`) - 2. 点击上方菜单栏的:**分支 → 合并(Merge)** - 3. 在弹窗中选择你要合并进来的源分支(如 `dev1`) - 4. 点击“确定”开始合并 - 5. 如果有冲突,会提示你处理冲突 - 6. 处理完冲突后,**提交合并记录** +##### 分支合并到主分支 + ![image-20250715085914861](./pictures/image-20250715085914861.png) ![image-20250715090114147](./pictures/image-20250715090114147.png) ![image-20250715090300179](./pictures/image-20250715090300179.png) -#### **删除分支** + + +##### 分支1合并到分支2 + +![image-20250716174627685](./pictures/image-20250716174627685.png) + +![image-20250716174710474](./pictures/image-20250716174710474.png) + +解决冲突 + +![image-20250716174746235](./pictures/image-20250716174746235.png) + +合并成功 + +![image-20250716174814521](./pictures/image-20250716174814521.png) + +##### 分支的分支合并到主分支 + +![image-20250716175432378](./pictures/image-20250716175432378.png) + +![image-20250716175501064](./pictures/image-20250716175501064.png) + +合并成功 + +![image-20250716175527294](./pictures/image-20250716175527294.png) + +#### **删除分支**(修改) 1. **切换出要删除的分支,你不能删除当前正在使用的分支。请先切换到其他分支**。 2. 在左侧分支列表中,**右键你要删除的分支** @@ -164,21 +289,75 @@ Git是一个开源的分布式版本控制系统,它能够高效地处理从 **注意尚未合并的分支不能删除(即没有备份的分支)** -![image-20250715090620031](./pictures/image-20250715090620031.png) +![image-20250716174143186](./pictures/image-20250716174143186.png) + +![image-20250716174201453](./pictures/image-20250716174201453.png) + +![image-20250716174218591](./pictures/image-20250716174218591.png) + +强行删除没有合并的分支 + +![image-20250716173351121](./pictures/image-20250716173351121.png) + +![image-20250716173413156](./pictures/image-20250716173413156.png) + +![image-20250716173444722](./pictures/image-20250716173444722.png) + +![image-20250716173340425](./pictures/image-20250716173340425.png) -![image-20250715090534825](./pictures/image-20250715090534825.png) +因为分支没有和主分支合并,所以删除失败 +![image-20250716173539786](./pictures/image-20250716173539786.png) +![image-20250716173551578](./pictures/image-20250716173551578.png) -#### **切换分支** +![image-20250716173721782](./pictures/image-20250716173721782.png) + +## 适用场景和意义 + +| 场景 | 意义 | +| -------------------------- | ------------------------------------------------------------ | +| 🔁 **分支内容无用** | 某个分支用于试验、测试,最终未采用,强行删除避免冗余。 | +| 🧹 **清理历史** | 清理长期未合并、开发中断的“僵尸分支”。 | +| 🚫 **修复误操作** | 某分支是误建的,未提交或提交错误,无法 merge,不如直接强制删除。 | +| 🔒 **防止危险代码流入主干** | 某分支包含危险改动或潜在 Bug,为避免 merge 到主分支,立即删除。 | +| ⚠️ **冲突太多,放弃合并** | 分支与主干差异大、冲突重,重建更清晰,强行删除原分支。 | + +#### **切换分支**(修改) 双击要切换的分支名字,出现小圆圈为激活状态。 -#### **制造冲突** +![image-20250716170731012](./pictures/image-20250716170731012.png) + +**检出分支** + +![image-20250715110124406](./pictures/image-20250715110124406.png) + +**“检出(checkout)远程分支”** 是指你将某个远程仓库(如 origin)上的分支拿到本地来使用、开发或查看的操作。 + +#### **制造冲突**(修改) + +**本地冲突**: + +分支2修改: + +![image-20250716170409161](./pictures/image-20250716170409161.png) + +分支1修改: + +![image-20250716170518530](./pictures/image-20250716170518530.png) + +合并分支: + +![image-20250716170613121](./pictures/image-20250716170613121.png) + +产生冲突: + +![image-20250716170634869](./pictures/image-20250716170634869.png) + +如果分支一修改了`1.txt`,分支2修改了`1.txt`且修改位置意义,修改内容不同合并时候就会产生冲突。 -本地冲突: -​ 如果分支一修改了`1.txt`,分支2修改了`1.txt`且修改位置意义,修改内容不同合并时候就会产生冲突。 远程冲突: @@ -292,7 +471,7 @@ Git是一个开源的分布式版本控制系统,它能够高效地处理从 ![image-20250715093055328](./pictures/image-20250715093055328.png) -#### 创建补丁 +#### 创建补丁(修改) 1. 在 `SourceTree` 中,**选择你要导出补丁的提交 2. 右键点击 → 选择 **“创建补丁”** 或 “Export patch” @@ -303,6 +482,17 @@ Git是一个开源的分布式版本控制系统,它能够高效地处理从 ![image-20250715104131125](./pictures/image-20250715104131125.png) +在分支创建补丁的意义 + +| 目的 | 原因和优势 | +| :-------------------: | :----------------------------------------------------------: | +| **1. 避免污染主分支** | 主分支(如 `master`、`main`)通常要保持稳定、可发布。在新建分支上做补丁开发,不会影响主线。 | +| **2. 更容易管理改动** | 分支相当于“一个封闭的变更沙箱”,方便组织、测试和提交改动。 | +| **3. 方便团队协作** | 提交到分支后,其他开发者可以基于该分支拉取代码、做代码审查(Review)或测试。 | +| **4. 创建补丁文件** | 使用 `git format-patch` 可以导出成 `.patch` 文件供邮件发送、打包发布或代码审计。 | + + + #### 应用补丁 选择补丁的位置选择补丁,点击应用。 @@ -380,7 +570,7 @@ Git是一个开源的分布式版本控制系统,它能够高效地处理从 ![image-20250708195200903](./pictures/image-20250708195200903.png) -#### 创建标签 +#### 创建标签(修改) **标识版本**:标签常用来标记软件的版本号,如 `v1.0.0`、`v2.1.3`,方便团队成员和用户明确某次发布对应的代码状态。 @@ -396,12 +586,18 @@ Git是一个开源的分布式版本控制系统,它能够高效地处理从 单击标签,切换到标签的节点所在位置。双击标签可以切换到标签节点的内容。 +![image-20250716165912588](./pictures/image-20250716165912588.png) + +双击标签可以切换到标签节点的内容。 + +![image-20250716165954714](./pictures/image-20250716165954714.png) + +![image-20250716170026082](./pictures/image-20250716170026082.png) + #### 删除标签 ![image-20250715094614190](./pictures/image-20250715094614190.png) -### 检出分支 -![image-20250715110124406](./pictures/image-20250715110124406.png) ![image-20250715110143327](./pictures/image-20250715110143327.png) diff --git a/SourceTree/pictures/image-20250716161207295.png b/SourceTree/pictures/image-20250716161207295.png new file mode 100644 index 0000000..1714aba Binary files /dev/null and b/SourceTree/pictures/image-20250716161207295.png differ diff --git a/SourceTree/pictures/image-20250716161240555.png b/SourceTree/pictures/image-20250716161240555.png new file mode 100644 index 0000000..7d3a4ae Binary files /dev/null and b/SourceTree/pictures/image-20250716161240555.png differ diff --git a/SourceTree/pictures/image-20250716161315531.png b/SourceTree/pictures/image-20250716161315531.png new file mode 100644 index 0000000..e8d90a0 Binary files /dev/null and b/SourceTree/pictures/image-20250716161315531.png differ diff --git a/SourceTree/pictures/image-20250716161502965.png b/SourceTree/pictures/image-20250716161502965.png new file mode 100644 index 0000000..674c6ac Binary files /dev/null and b/SourceTree/pictures/image-20250716161502965.png differ diff --git a/SourceTree/pictures/image-20250716161611739.png b/SourceTree/pictures/image-20250716161611739.png new file mode 100644 index 0000000..225d574 Binary files /dev/null and b/SourceTree/pictures/image-20250716161611739.png differ diff --git a/SourceTree/pictures/image-20250716161845432.png b/SourceTree/pictures/image-20250716161845432.png new file mode 100644 index 0000000..41c80e2 Binary files /dev/null and b/SourceTree/pictures/image-20250716161845432.png differ diff --git a/SourceTree/pictures/image-20250716162208546.png b/SourceTree/pictures/image-20250716162208546.png new file mode 100644 index 0000000..be2c635 Binary files /dev/null and b/SourceTree/pictures/image-20250716162208546.png differ diff --git a/SourceTree/pictures/image-20250716162311987.png b/SourceTree/pictures/image-20250716162311987.png new file mode 100644 index 0000000..4c1cec3 Binary files /dev/null and b/SourceTree/pictures/image-20250716162311987.png differ diff --git a/SourceTree/pictures/image-20250716162354532.png b/SourceTree/pictures/image-20250716162354532.png new file mode 100644 index 0000000..df82439 Binary files /dev/null and b/SourceTree/pictures/image-20250716162354532.png differ diff --git a/SourceTree/pictures/image-20250716162610646.png b/SourceTree/pictures/image-20250716162610646.png new file mode 100644 index 0000000..8458fd5 Binary files /dev/null and b/SourceTree/pictures/image-20250716162610646.png differ diff --git a/SourceTree/pictures/image-20250716162825962.png b/SourceTree/pictures/image-20250716162825962.png new file mode 100644 index 0000000..6e61ab2 Binary files /dev/null and b/SourceTree/pictures/image-20250716162825962.png differ diff --git a/SourceTree/pictures/image-20250716162936996.png b/SourceTree/pictures/image-20250716162936996.png new file mode 100644 index 0000000..06c7cb6 Binary files /dev/null and b/SourceTree/pictures/image-20250716162936996.png differ diff --git a/SourceTree/pictures/image-20250716163014791.png b/SourceTree/pictures/image-20250716163014791.png new file mode 100644 index 0000000..c643f46 Binary files /dev/null and b/SourceTree/pictures/image-20250716163014791.png differ diff --git a/SourceTree/pictures/image-20250716163650811.png b/SourceTree/pictures/image-20250716163650811.png new file mode 100644 index 0000000..34b0c7a Binary files /dev/null and b/SourceTree/pictures/image-20250716163650811.png differ diff --git a/SourceTree/pictures/image-20250716163725582.png b/SourceTree/pictures/image-20250716163725582.png new file mode 100644 index 0000000..7578253 Binary files /dev/null and b/SourceTree/pictures/image-20250716163725582.png differ diff --git a/SourceTree/pictures/image-20250716163940888.png b/SourceTree/pictures/image-20250716163940888.png new file mode 100644 index 0000000..edfab77 Binary files /dev/null and b/SourceTree/pictures/image-20250716163940888.png differ diff --git a/SourceTree/pictures/image-20250716164007116.png b/SourceTree/pictures/image-20250716164007116.png new file mode 100644 index 0000000..48b81fc Binary files /dev/null and b/SourceTree/pictures/image-20250716164007116.png differ diff --git a/SourceTree/pictures/image-20250716164205932.png b/SourceTree/pictures/image-20250716164205932.png new file mode 100644 index 0000000..0680568 Binary files /dev/null and b/SourceTree/pictures/image-20250716164205932.png differ diff --git a/SourceTree/pictures/image-20250716164339076.png b/SourceTree/pictures/image-20250716164339076.png new file mode 100644 index 0000000..1fed3a2 Binary files /dev/null and b/SourceTree/pictures/image-20250716164339076.png differ diff --git a/SourceTree/pictures/image-20250716164356055.png b/SourceTree/pictures/image-20250716164356055.png new file mode 100644 index 0000000..532841e Binary files /dev/null and b/SourceTree/pictures/image-20250716164356055.png differ diff --git a/SourceTree/pictures/image-20250716164542292.png b/SourceTree/pictures/image-20250716164542292.png new file mode 100644 index 0000000..5818cf5 Binary files /dev/null and b/SourceTree/pictures/image-20250716164542292.png differ diff --git a/SourceTree/pictures/image-20250716164601226.png b/SourceTree/pictures/image-20250716164601226.png new file mode 100644 index 0000000..1506404 Binary files /dev/null and b/SourceTree/pictures/image-20250716164601226.png differ diff --git a/SourceTree/pictures/image-20250716164703990.png b/SourceTree/pictures/image-20250716164703990.png new file mode 100644 index 0000000..767f164 Binary files /dev/null and b/SourceTree/pictures/image-20250716164703990.png differ diff --git a/SourceTree/pictures/image-20250716164730426.png b/SourceTree/pictures/image-20250716164730426.png new file mode 100644 index 0000000..6bde751 Binary files /dev/null and b/SourceTree/pictures/image-20250716164730426.png differ diff --git a/SourceTree/pictures/image-20250716164820220.png b/SourceTree/pictures/image-20250716164820220.png new file mode 100644 index 0000000..b4f320b Binary files /dev/null and b/SourceTree/pictures/image-20250716164820220.png differ diff --git a/SourceTree/pictures/image-20250716164948009.png b/SourceTree/pictures/image-20250716164948009.png new file mode 100644 index 0000000..12526a0 Binary files /dev/null and b/SourceTree/pictures/image-20250716164948009.png differ diff --git a/SourceTree/pictures/image-20250716165008026.png b/SourceTree/pictures/image-20250716165008026.png new file mode 100644 index 0000000..1207f12 Binary files /dev/null and b/SourceTree/pictures/image-20250716165008026.png differ diff --git a/SourceTree/pictures/image-20250716165155337.png b/SourceTree/pictures/image-20250716165155337.png new file mode 100644 index 0000000..1462170 Binary files /dev/null and b/SourceTree/pictures/image-20250716165155337.png differ diff --git a/SourceTree/pictures/image-20250716165220392.png b/SourceTree/pictures/image-20250716165220392.png new file mode 100644 index 0000000..270fa65 Binary files /dev/null and b/SourceTree/pictures/image-20250716165220392.png differ diff --git a/SourceTree/pictures/image-20250716165347055.png b/SourceTree/pictures/image-20250716165347055.png new file mode 100644 index 0000000..107fd69 Binary files /dev/null and b/SourceTree/pictures/image-20250716165347055.png differ diff --git a/SourceTree/pictures/image-20250716165412325.png b/SourceTree/pictures/image-20250716165412325.png new file mode 100644 index 0000000..7ff524d Binary files /dev/null and b/SourceTree/pictures/image-20250716165412325.png differ diff --git a/SourceTree/pictures/image-20250716165606528.png b/SourceTree/pictures/image-20250716165606528.png new file mode 100644 index 0000000..6a3ecfe Binary files /dev/null and b/SourceTree/pictures/image-20250716165606528.png differ diff --git a/SourceTree/pictures/image-20250716165635842.png b/SourceTree/pictures/image-20250716165635842.png new file mode 100644 index 0000000..b2c3f7a Binary files /dev/null and b/SourceTree/pictures/image-20250716165635842.png differ diff --git a/SourceTree/pictures/image-20250716165650392.png b/SourceTree/pictures/image-20250716165650392.png new file mode 100644 index 0000000..af2a31f Binary files /dev/null and b/SourceTree/pictures/image-20250716165650392.png differ diff --git a/SourceTree/pictures/image-20250716165912588.png b/SourceTree/pictures/image-20250716165912588.png new file mode 100644 index 0000000..c2ff125 Binary files /dev/null and b/SourceTree/pictures/image-20250716165912588.png differ diff --git a/SourceTree/pictures/image-20250716165954714.png b/SourceTree/pictures/image-20250716165954714.png new file mode 100644 index 0000000..7f023fc Binary files /dev/null and b/SourceTree/pictures/image-20250716165954714.png differ diff --git a/SourceTree/pictures/image-20250716170026082.png b/SourceTree/pictures/image-20250716170026082.png new file mode 100644 index 0000000..c3f00bb Binary files /dev/null and b/SourceTree/pictures/image-20250716170026082.png differ diff --git a/SourceTree/pictures/image-20250716170409161.png b/SourceTree/pictures/image-20250716170409161.png new file mode 100644 index 0000000..ea589a9 Binary files /dev/null and b/SourceTree/pictures/image-20250716170409161.png differ diff --git a/SourceTree/pictures/image-20250716170518530.png b/SourceTree/pictures/image-20250716170518530.png new file mode 100644 index 0000000..dd51ad7 Binary files /dev/null and b/SourceTree/pictures/image-20250716170518530.png differ diff --git a/SourceTree/pictures/image-20250716170613121.png b/SourceTree/pictures/image-20250716170613121.png new file mode 100644 index 0000000..2270e07 Binary files /dev/null and b/SourceTree/pictures/image-20250716170613121.png differ diff --git a/SourceTree/pictures/image-20250716170634869.png b/SourceTree/pictures/image-20250716170634869.png new file mode 100644 index 0000000..6a00f0c Binary files /dev/null and b/SourceTree/pictures/image-20250716170634869.png differ diff --git a/SourceTree/pictures/image-20250716170731012.png b/SourceTree/pictures/image-20250716170731012.png new file mode 100644 index 0000000..5ebb1ef Binary files /dev/null and b/SourceTree/pictures/image-20250716170731012.png differ diff --git a/SourceTree/pictures/image-20250716173340425.png b/SourceTree/pictures/image-20250716173340425.png new file mode 100644 index 0000000..cd30e78 Binary files /dev/null and b/SourceTree/pictures/image-20250716173340425.png differ diff --git a/SourceTree/pictures/image-20250716173351121.png b/SourceTree/pictures/image-20250716173351121.png new file mode 100644 index 0000000..a6dc574 Binary files /dev/null and b/SourceTree/pictures/image-20250716173351121.png differ diff --git a/SourceTree/pictures/image-20250716173413156.png b/SourceTree/pictures/image-20250716173413156.png new file mode 100644 index 0000000..33ec201 Binary files /dev/null and b/SourceTree/pictures/image-20250716173413156.png differ diff --git a/SourceTree/pictures/image-20250716173444722.png b/SourceTree/pictures/image-20250716173444722.png new file mode 100644 index 0000000..7061c31 Binary files /dev/null and b/SourceTree/pictures/image-20250716173444722.png differ diff --git a/SourceTree/pictures/image-20250716173539786.png b/SourceTree/pictures/image-20250716173539786.png new file mode 100644 index 0000000..d293ce9 Binary files /dev/null and b/SourceTree/pictures/image-20250716173539786.png differ diff --git a/SourceTree/pictures/image-20250716173551578.png b/SourceTree/pictures/image-20250716173551578.png new file mode 100644 index 0000000..8e9651e Binary files /dev/null and b/SourceTree/pictures/image-20250716173551578.png differ diff --git a/SourceTree/pictures/image-20250716173633204.png b/SourceTree/pictures/image-20250716173633204.png new file mode 100644 index 0000000..c455ef4 Binary files /dev/null and b/SourceTree/pictures/image-20250716173633204.png differ diff --git a/SourceTree/pictures/image-20250716173721782.png b/SourceTree/pictures/image-20250716173721782.png new file mode 100644 index 0000000..88d52a1 Binary files /dev/null and b/SourceTree/pictures/image-20250716173721782.png differ diff --git a/SourceTree/pictures/image-20250716174143186.png b/SourceTree/pictures/image-20250716174143186.png new file mode 100644 index 0000000..6b6fe4b Binary files /dev/null and b/SourceTree/pictures/image-20250716174143186.png differ diff --git a/SourceTree/pictures/image-20250716174201453.png b/SourceTree/pictures/image-20250716174201453.png new file mode 100644 index 0000000..0216b1b Binary files /dev/null and b/SourceTree/pictures/image-20250716174201453.png differ diff --git a/SourceTree/pictures/image-20250716174218591.png b/SourceTree/pictures/image-20250716174218591.png new file mode 100644 index 0000000..998b40a Binary files /dev/null and b/SourceTree/pictures/image-20250716174218591.png differ diff --git a/SourceTree/pictures/image-20250716174627685.png b/SourceTree/pictures/image-20250716174627685.png new file mode 100644 index 0000000..9864a8f Binary files /dev/null and b/SourceTree/pictures/image-20250716174627685.png differ diff --git a/SourceTree/pictures/image-20250716174710474.png b/SourceTree/pictures/image-20250716174710474.png new file mode 100644 index 0000000..b83331d Binary files /dev/null and b/SourceTree/pictures/image-20250716174710474.png differ diff --git a/SourceTree/pictures/image-20250716174746235.png b/SourceTree/pictures/image-20250716174746235.png new file mode 100644 index 0000000..7a272f1 Binary files /dev/null and b/SourceTree/pictures/image-20250716174746235.png differ diff --git a/SourceTree/pictures/image-20250716174814521.png b/SourceTree/pictures/image-20250716174814521.png new file mode 100644 index 0000000..db46056 Binary files /dev/null and b/SourceTree/pictures/image-20250716174814521.png differ diff --git a/SourceTree/pictures/image-20250716175432378.png b/SourceTree/pictures/image-20250716175432378.png new file mode 100644 index 0000000..1ee1064 Binary files /dev/null and b/SourceTree/pictures/image-20250716175432378.png differ diff --git a/SourceTree/pictures/image-20250716175501064.png b/SourceTree/pictures/image-20250716175501064.png new file mode 100644 index 0000000..e3f25a1 Binary files /dev/null and b/SourceTree/pictures/image-20250716175501064.png differ diff --git a/SourceTree/pictures/image-20250716175527294.png b/SourceTree/pictures/image-20250716175527294.png new file mode 100644 index 0000000..6cc9c10 Binary files /dev/null and b/SourceTree/pictures/image-20250716175527294.png differ diff --git a/SourceTree/pictures/image-20250716175559009.png b/SourceTree/pictures/image-20250716175559009.png new file mode 100644 index 0000000..6cc9c10 Binary files /dev/null and b/SourceTree/pictures/image-20250716175559009.png differ diff --git a/VisualStudio/VisualStudio.md b/VisualStudio/VisualStudio.md index ab8939a..19ccb29 100644 --- a/VisualStudio/VisualStudio.md +++ b/VisualStudio/VisualStudio.md @@ -48,7 +48,21 @@ ![image-20250710095042067](./pictures/image-20250710095042067.png) -~~包括就是将排除的文件添加回去~~ +包括就是将排除的文件添加回去 + +1. 点击显示所有文件: + +![image-20250716132630126](./pictures/image-20250716132630126.png) + +2. 展开文件 + +![image-20250716132722604](./pictures/image-20250716132722604.png) + +3. 鼠标选择排除文件,右键 + + ![image-20250716132859459](./pictures/image-20250716132859459.png) + + ![image-20250716132944174](./pictures/image-20250716132944174.png) ## 工程配置 ### 解决方案配置 diff --git a/VisualStudio/pictures/image-20250716132630126.png b/VisualStudio/pictures/image-20250716132630126.png new file mode 100644 index 0000000..0570267 Binary files /dev/null and b/VisualStudio/pictures/image-20250716132630126.png differ diff --git a/VisualStudio/pictures/image-20250716132722604.png b/VisualStudio/pictures/image-20250716132722604.png new file mode 100644 index 0000000..2dead2e Binary files /dev/null and b/VisualStudio/pictures/image-20250716132722604.png differ diff --git a/VisualStudio/pictures/image-20250716132859459.png b/VisualStudio/pictures/image-20250716132859459.png new file mode 100644 index 0000000..0e7a9ca Binary files /dev/null and b/VisualStudio/pictures/image-20250716132859459.png differ diff --git a/VisualStudio/pictures/image-20250716132944174.png b/VisualStudio/pictures/image-20250716132944174.png new file mode 100644 index 0000000..d9e32bc Binary files /dev/null and b/VisualStudio/pictures/image-20250716132944174.png differ