Salīdzināt revīzijas

...

9 Revīzijas

Autors SHA1 Ziņojums Datums
  DESKTOP-J5JP3RN\kanxingyu cc52503b48 更新 pirms 1 dienas
  DESKTOP-J5JP3RN\kanxingyu 17c2d46763 1 pirms 1 dienas
  DESKTOP-J5JP3RN\kanxingyu ea8623a58f 更新嵌入式部分 pirms 2 dienas
  DESKTOP-J5JP3RN\kanxingyu 74320f54aa 更新source tree pirms 2 dienas
  DESKTOP-J5JP3RN\kanxingyu e3dc1c771a 新增IAR、source insight pirms 2 dienas
  DESKTOP-J5JP3RN\kanxingyu c7833ecc13 内容优化 pirms 5 dienas
  DESKTOP-J5JP3RN\kanxingyu 257984adc8 增加了动态库和静态库的优缺点 pirms 6 dienas
  DESKTOP-J5JP3RN\kanxingyu 817312c00e 修改IAR图片路径 pirms 6 dienas
  DESKTOP-J5JP3RN\kanxingyu 78530876fa 修改 pirms 6 dienas
78 mainītis faili ar 449 papildinājumiem un 54 dzēšanām
Dalītais skats
  1. +0
    -0
      .gitignore
  2. +194
    -16
      IAR/IAR.md
  3. +16
    -0
      Library/Library.md
  4. +2
    -2
      MarkDown/MarkDown.md
  5. Binārs
      Source Insight/Pictures/image-20250715110850248.png
  6. +45
    -2
      Source Insight/Source Insight.md
  7. Binārs
      Sourcetree/Pictures/image-20250715131516043.png
  8. Binārs
      Sourcetree/Pictures/image-20250715131629820.png
  9. Binārs
      Sourcetree/Pictures/image-20250715131945230.png
  10. Binārs
      Sourcetree/Pictures/image-20250715132002916.png
  11. Binārs
      Sourcetree/Pictures/image-20250715132116446.png
  12. Binārs
      Sourcetree/Pictures/image-20250715132242834.png
  13. Binārs
      Sourcetree/Pictures/image-20250715132733190.png
  14. Binārs
      Sourcetree/Pictures/image-20250715132744179.png
  15. Binārs
      Sourcetree/Pictures/image-20250715132747999.png
  16. Binārs
      Sourcetree/Pictures/image-20250716161140946.png
  17. Binārs
      Sourcetree/Pictures/image-20250716161244066.png
  18. Binārs
      Sourcetree/Pictures/image-20250716161350905.png
  19. Binārs
      Sourcetree/Pictures/image-20250716161506019.png
  20. Binārs
      Sourcetree/Pictures/image-20250716164410111.png
  21. Binārs
      Sourcetree/Pictures/image-20250716165057657.png
  22. Binārs
      Sourcetree/Pictures/image-20250716165118877.png
  23. Binārs
      Sourcetree/Pictures/image-20250716165453793.png
  24. Binārs
      Sourcetree/Pictures/image-20250716165617049.png
  25. Binārs
      Sourcetree/Pictures/image-20250716165645482.png
  26. Binārs
      Sourcetree/Pictures/image-20250716165820287.png
  27. Binārs
      Sourcetree/Pictures/image-20250716170022865.png
  28. Binārs
      Sourcetree/Pictures/image-20250716170247654.png
  29. Binārs
      Sourcetree/Pictures/image-20250716170317679.png
  30. Binārs
      Sourcetree/Pictures/image-20250716170352320.png
  31. Binārs
      Sourcetree/Pictures/image-20250716170805020.png
  32. Binārs
      Sourcetree/Pictures/image-20250716170855682.png
  33. Binārs
      Sourcetree/Pictures/image-20250716170941689.png
  34. Binārs
      Sourcetree/Pictures/image-20250716173143565.png
  35. Binārs
      Sourcetree/Pictures/image-20250716173348957.png
  36. Binārs
      Sourcetree/Pictures/image-20250716173441165.png
  37. Binārs
      Sourcetree/Pictures/image-20250716173550201.png
  38. Binārs
      Sourcetree/Pictures/image-20250716173607795.png
  39. Binārs
      Sourcetree/Pictures/image-20250716174214401.png
  40. Binārs
      Sourcetree/Pictures/image-20250716174617241.png
  41. Binārs
      Sourcetree/Pictures/image-20250716174648766.png
  42. Binārs
      Sourcetree/Pictures/image-20250716174732231.png
  43. Binārs
      Sourcetree/Pictures/image-20250716175122696.png
  44. Binārs
      Sourcetree/Pictures/image-20250716175145263.png
  45. Binārs
      Sourcetree/Pictures/image-20250716175417398.png
  46. Binārs
      Sourcetree/Pictures/image-20250716175433584.png
  47. Binārs
      Sourcetree/Pictures/image-20250716175601628.png
  48. Binārs
      Sourcetree/Pictures/image-20250716175643864.png
  49. Binārs
      Sourcetree/Pictures/image-20250716175945840.png
  50. Binārs
      Sourcetree/Pictures/image-20250716180158270.png
  51. Binārs
      Sourcetree/Pictures/image-20250716180303985.png
  52. Binārs
      Sourcetree/Pictures/image-20250716180604092.png
  53. Binārs
      Sourcetree/Pictures/image-20250716180630542.png
  54. Binārs
      Sourcetree/Pictures/image-20250716180703585.png
  55. Binārs
      Sourcetree/Pictures/image-20250716180938665.png
  56. Binārs
      Sourcetree/Pictures/image-20250716181021856.png
  57. Binārs
      Sourcetree/Pictures/image-20250716181047357.png
  58. Binārs
      Sourcetree/Pictures/image-20250716181438836.png
  59. Binārs
      Sourcetree/Pictures/image-20250716181454209.png
  60. Binārs
      Sourcetree/Pictures/image-20250716181509051.png
  61. Binārs
      Sourcetree/Pictures/image-20250716181532329.png
  62. Binārs
      Sourcetree/Pictures/image-20250716181710878.png
  63. Binārs
      Sourcetree/Pictures/image-20250716181736718.png
  64. Binārs
      Sourcetree/Pictures/image-20250716181912590.png
  65. Binārs
      Sourcetree/Pictures/image-20250716182030610.png
  66. Binārs
      Sourcetree/Pictures/image-20250716182040237.png
  67. Binārs
      Sourcetree/Pictures/image-20250716182235209.png
  68. Binārs
      Sourcetree/Pictures/image-20250716182311600.png
  69. Binārs
      Sourcetree/Pictures/image-20250716182329851.png
  70. Binārs
      Sourcetree/Pictures/image-20250716182430546.png
  71. Binārs
      Sourcetree/Pictures/image-20250716182440730.png
  72. Binārs
      Sourcetree/Pictures/image-20250716182522536.png
  73. +182
    -33
      Sourcetree/Sourcetree.md
  74. Binārs
      UintTest/Pictures/image-20250714094111503.png
  75. Binārs
      UintTest/Pictures/企业微信截图_17522164518089.png
  76. Binārs
      UintTest/Pictures/企业微信截图_17524732096026.png
  77. +3
    -1
      UintTest/UnitTest.md
  78. +7
    -0
      VisualStudio/VisualStudio.md

+ 0
- 0
.gitignore Parādīt failu


+ 194
- 16
IAR/IAR.md Parādīt failu

@@ -65,7 +65,9 @@

软件左上角File菜单内点击New workspace即可创建新的工作区,如需要打开选择Open即可。

<img src=".\Pictures\image-20250708131909282.png" alt="image-20250708131909282" style="zoom:50%;" />
![tupian](./Pictures/image-20250708131909282.png)



#### 1.3新建/打开工程

@@ -73,25 +75,25 @@

打开工程选择Add。

<img src=".\Pictures\image-20250708131945592.png" alt="image-20250708131945592" style="zoom:50%;" />
![tupian](./Pictures/image-20250708131945592.png)

#### 1.4工作区中导入/添加工程

选择上方的Project,点击Add Existing Project,便可以添加项目。

<img src=".\Pictures\image-20250708132254972.png" alt="image-20250708132254972" style="zoom:50%;" />
![1](.\Pictures\image-20250708132254972.png)

#### 1.5新建分组

右键项目名称,选择Add Group,新建分组

<img src=".\Pictures\image-20250708132546212.png" alt="image-20250708132546212" style="zoom:50%;" />
![1](.\Pictures\image-20250708132546212.png)

#### 1.6新建/打开文件

右键项目名称,选择Add File,新建文件。

<img src=".\Pictures\image-20250708133238110.png" alt="image-20250708133238110" style="zoom:50%;" />
![1](.\Pictures\image-20250708133238110.png)

#### 1.7工程目录与文件目录的关系

@@ -105,7 +107,7 @@

右键工程文件,选择Options,进入工程配置,选择需要的单片机设备型号。

<img src=".\Pictures\image-20250708135420393.png" alt="image-20250708135420393" style="zoom:50%;" />
![1](.\Pictures\image-20250708135420393.png)

### 3.编译配置

@@ -113,59 +115,171 @@

右键Options,选择C/C++ --> Optimizations ,进行优化等级配置。

<img src="./Pictures/image-20250709180547755.png" alt="image-20250709180547755" style="zoom:50%;" />
![1](./Pictures/image-20250709180547755.png)

1. **None (-O0)**
- **特点**:不进行优化,编译速度最快。
- **应用场景**:调试阶段,便于跟踪源代码与机器码的对应关系。
- **缺点**:生成的代码体积大、执行慢。
2. **Low (-O1)**
- **特点**:基本优化,主要减少代码大小。
- 优化内容:
- 消除未使用的变量和函数。
- 简化常量表达式(如计算 `2+3` 为 `5`)。
- 执行基本的循环优化(如循环展开小迭代次数的循环)。
- **应用场景**:需要平衡代码大小和编译时间的场景。
3. **Medium (-O2)**
- **特点**:中度优化,兼顾代码大小和执行速度。
- 优化内容:
- 执行更激进的循环优化(如循环不变代码外提)。
- 函数内联(对小函数)。
- 寄存器分配优化。
- **应用场景**:大多数生产环境的默认选择。
4. **High (-O3)**
- **特点**:最高级优化,侧重执行速度。
- 优化内容:
- 激进的函数内联(包括较大的函数)。
- 循环展开和向量化(适用于 DSP 等架构)。
- 全局变量和内存访问优化。
- **缺点**:可能增加代码体积,编译时间显著延长。
- **应用场景**:对性能要求极高的代码(如算法核心、中断处理)。



#### 3.2硬件浮点

General Options 界面,选择32bit或64bit,选择fpu功能是否开启。

<img src=".\Pictures\image-20250708140541188.png" alt="image-20250708140541188" style="zoom:50%;" />
![1](.\Pictures\image-20250708140541188.png)

硬件浮点单元通过专用电路加速浮点数运算,显著提升了嵌入式系统的计算能力、能效比和开发效率。对于需要处理复杂算法、高精度数据或实时响应的应用,FPU 几乎是必备组件。

#### 3.3预处理

右键Options,选择C/C++ --> Preprocessor ,Defined symbols进行预处理。

<img src="./Pictures/image-20250709180618391.png" alt="image-20250709180618391" style="zoom:50%;" />
![1](./Pictures/image-20250709180618391.png)

- 硬件资源的抽象映射(如寄存器地址)。
- 代码的灵活配置与优化。
- 跨平台兼容性支持。
- 调试与生产版本的快速切换。

STM32F103xB文件的作用:

核心作用:通过条件编译启用设备特定代码。

包含正确的设备头文件,启用外设驱动和内存映射

#### 3.4链接文件

Linker页面设置链接文件。

<img src=".\Pictures\image-20250708142245783.png" alt="image-20250708142245783" style="zoom:50%;" />
![1](.\Pictures\image-20250708142245783.png)

作用:

- 定义物理内存布局(如 Flash、RAM 的起始地址和大小)。
- 指定代码段(.text)、数据段(.data)、BSS 段(.bss)等如何分配到物理内存。
- 控制栈(Stack)和堆(Heap)的大小与位置。
- 支持复杂的内存分区(如将关键代码放在特定 Flash 区域)。
- .stack:栈区域,用于局部变量和函数调用。
- .heap:堆区域,用于动态内存分配(如`malloc()`)。

**关键段说明**:

- **.intvec**:中断向量表,包含系统启动和中断处理函数的地址,必须位于 Flash 起始位置(0x08000000)。
- **.text**:程序代码段,包含编译后的指令。
- **.data**:已初始化的全局变量和静态变量(如 `int a = 10;`)。
- **.bss**:未初始化的全局变量和静态变量(如 `int b;`),不占用 Flash 空间,运行时自动初始化为 0。
- **.stack**:栈区域,由编译器自动管理,用于存储局部变量和函数调用上下文。
- **.heap**:堆区域,用于动态内存分配(如 `malloc()`、`free()`)。

#### 3.5文件路径位置

在Option页面C/C++设置文件路径位置,包括头文件位置。

<img src=".\Pictures\image-20250708142455122.png" alt="image-20250708142455122" style="zoom:50%;" />
![1](.\Pictures\image-20250708142455122.png)

#### 3.6输出文件配置

选择Output页面,然后设置输出文件位置。

<img src=".\Pictures\image-20250708142616060.png" alt="image-20250708142616060" style="zoom:50%;" />
![1](.\Pictures\image-20250708142616060.png)

1. .hex文件:十六进制文件。
2. .bin文件:二进制文件。
3. .txt文件:文本格式文件。
4. .srec文件:SREC(也称为 S-Record、S-File)是一种 ASCII 文本格式,将二进制数据编码为可读字符串,便于在不同系统间传输和存储。
5. .sim:通常指用于仿真(Simulation)的配置文件或结果文件。

#### 3.7输出文件路径

打开Option,选择General,选择output进行配置。

<img src=".\Pictures\image-20250708142932221.png" alt="image-20250708142932221" style="zoom:50%;" />
![1](.\Pictures\image-20250708142932221.png)

### 4.调试器配置

打开Option,选择Debug进行配置

<img src=".\Pictures\image-20250708143112548.png" alt="image-20250708143112548" style="zoom:50%;" />
![1](.\Pictures\image-20250708143112548.png)

| 选项 | 功能描述 |
| ---------------------------------------- | ------------------------------------------------------------ |
| **Core Reset** | 是指针对微控制器(MCU)内核(如 ARM Cortex-M 系列)的复位操作,**软件触发**:通过写入特定寄存器触发 |
| **System(default) Reset** | 上电复位 |
| **Software Reset** | 通过写入 SCB_AIRCR 寄存器触发软件系统复位(SYSRESETREQ)。 |
| **Hardware Reset** | 通过控制 NRST 引脚触发硬件复位。 |
| **Connect During Reset(复位期间连接)** | 允许调试器在目标设备复位期间建立并保持连接 |



| 操作 | 功能描述 | 适用场景 |
| ----------------------- | --------------------------------------- | ------------------ |
| **Debug Download** | 下载程序并启动调试会话 | 开发阶段调试代码 |
| **Production Download** | 仅下载程序,不启动调试(如 Flash 编程) | 生产环境烧录固件 |
| **Run to main()** | 下载后自动运行到 `main()` 函数入口 | 跳过冗长的启动代码 |
| **Load Symbol File** | 仅加载符号表(不下载程序) | 附加到已运行的程序 |

jlink:提供了高效的硬件调试、Flash 编程和性能分析功能。

stlink:ST-Link 是意法半导体(STMicroelectronics)为其 STM32 系列微控制器开发的官方调试工具,用于程序下载、调试和系统开发。它集成了 JTAG/SWD 接口和 USB 通信功能

ijet:**iJet** 是德国 Lauterbach 公司开发的高性能调试工具,专为复杂嵌入式系统设计,尤其适用于对调试深度、实时性和性能要求极高的场景

| 工具 | 优势 | 劣势 |
| ----------- | ---------------------------------------- | ------------------------ |
| **iJet** | 超高性能追踪、多处理器支持、全系统可见性 | 价格昂贵,适用于高端场景 |
| **J-Link** | 功能全面、性价比高 | 追踪能力较 iJet 有限 |
| **ST-Link** | 低成本、官方支持 | 仅支持 STM32 系列 |

### 5.库相关配置

设置库文件相关位置,同时在程序内include头文件,使用库。

<img src="./Pictures/image-20250710142954145.png" alt="image-20250710142954145" style="zoom:50%;" />
| 选项 | 功能描述 |
| ------ | ------------------------------------------------------------ |
| none | 不链接任何标准库,适合资源受限的环境。 |
| normal | 链接标准 C 库的常规版本,平衡了代码大小和运行速度。 |
| full | 链接标准 C 库的完整版本,包含所有功能和调试信息,适合调试阶段。 |
| custom | 允许用户自定义库配置,可选择性地包含或排除某些库功能,用于优化代码大小。 |
| libc++ | 链接 C++ 标准库,适用于 C++ 开发。 |

![1](./Pictures/image-20250710142954145.png)

CMSIS提供 Cortex-M 处理器内核的底层访问接口,包括:

- 寄存器定义(如 NVIC、SCB、SysTick)。
- 中断处理函数接口。
- 系统时钟配置函数。

### 6.静态库的封装和调用

新建项目,同时设置.h和.c文件,进行内部程序的编写。注意减少外部依赖,能够直接移植调用。写完之后点击option进行设置,选择General,OutPut选择library,然后make编译生成.lib文件,使用时复制.lib文件到项目内,并在option内进行配置,然后选择Linker -- > Library,将静态库.lib文件添加,返回工程重新编译。
1. 新建项目,同时设置.h和.c文件,进行内部程序的编写。注意减少外部依赖,能够直接移植调用。
2. 写完之后点击option进行设置,选择General,OutPut选择library,然后make编译生成.lib文件,使用时复制.lib文件到项目内。
3. 在option内进行配置,然后选择Linker -- > Library,将静态库.lib文件添加,同时添加头文件,返回工程重新编译。
4. 可以发现静态库的函数可以在工程里面进行调用。

<img src=".\Pictures\image-20250708144035699.png" alt="image-20250708144035699" style="zoom:50%;" />

@@ -207,18 +321,46 @@ Linker页面设置链接文件。

<img src=".\Pictures\image-20250708152756370.png" alt="image-20250708152756370" style="zoom:50%;" />

| 类型 | 特点 | 适用场景 | 更新方式 | | |
| --------------------------- | --------------------------------------------------------- | ------------------------ | -------------- | ---- | ---- |
| **Watch Window** | 手动添加、持续跟踪 | 长期监视关键变量 | 自动(暂停时) | | |
| **Quick Watch** | 临时查看、即时计算 | 快速验证单个变量 | 手动触发 | | |
| **Auto Watch** | 自动跟踪当前上下文 | 快速了解局部变量状态 | 自动(执行时) | | |
| **Memory Watch** | 直接访问内存地址 | 调试内存相关问题 | 自动(暂停时) | | |
| **Register Watch** | 监控硬件寄存器 | 底层硬件调试 | 自动(执行时) | | |
| **断点条件 Watch** | 条件触发与监视结合 | 捕获特定状态 | 条件满足时 | | |
| **Live Watch** | 允许在程序运行过程中实时跟踪变量值,而无需暂停 CPU 执行。 | 实时系统调试 | 自动 | | |
| **Local Watch(局部监视)** | 主要用于跟踪程序中**局部变量**的变化 | 查看局部函数内的局部变量 | 自动 | | |
| **Statics Watch** | 监视程序内的静态窗口 | | | | |

### 9.寄存器信息

打开view的registers窗口即可查看寄存器信息。

<img src=".\Pictures\image-20250708152951214.png" alt="image-20250708152951214" style="zoom:50%;" />

**r0~r3**: 主要用于子程序间传递参数。

**r4~r11** :主要用于保存局部变量,但在 Thumb 程序中,通常只能使用 r4~r7 来保存局部变量。

**r12** :用作子程序间scratch 寄存器,即 ip 寄存器。

**r13**: 通常用做栈指针,即 sp。

**r14**: 寄存器又被称为连接寄存器(lr),用于保存子程序以及中断的返回地址。

**r15** :用作程序计数器(pc),由于 ARM 采用了流水线机制,当正确读取了 PC 的值后,该值为当前指令地址加 8 个字节,即 PC 指向当前指令的下两条指令地址。

CPSR和SPSR都是程序状态寄存器,其中SPSR是用来保存中断前的CPSR中的值,以便在中断返回之后恢复处理器程序状态。s

### 10.内存信息

打开view的memory窗口即可查看寄存器信息

![image-20250708153108132](.\Pictures\image-20250708153108132.png)

想要查看变量信息,可以通过添加取址符号&进行查看。

### 11.栈信息

打开view的stack窗口即可查看栈信息
@@ -237,6 +379,25 @@ Linker页面设置链接文件。

<img src=".\Pictures\image-20250708153531949.png" alt="image-20250708153531949" style="zoom:50%;" />

**堆栈的解释:**是内存中的一块连续区域,遵循 **后进先出(LIFO)** 原则。

- 核心作用:

- 保存函数调用时的上下文(如返回地址、寄存器值)。

- 存储局部变量和函数参数。

- 支持中断处理和异常响应。

| **特性** | **堆栈(Stack)** | **堆(Heap)** |
| -------------- | -------------------------- | --------------------------------- |
| **管理方式** | 由 CPU 自动管理(SP 指针) | 由程序员手动分配(如 `malloc()`) |
| **分配效率** | 快(直接移动 SP) | 慢(需动态查找空闲内存块) |
| **空间大小** | 固定(由链接脚本指定) | 动态(受限于剩余内存) |
| **数据生存期** | 与函数调用周期绑定 | 由程序员控制(`free()`) |
| **生长方向** | 通常向下(低地址) | 向上(高地址) |
| **内存碎片** | 不存在 | 可能产生(多次分配 / 释放) |

### 14.单步调试

#### 14.1逐过程调试
@@ -245,6 +406,23 @@ Linker页面设置链接文件。

<img src=".\Pictures\image-20250708153851629.png" alt="image-20250708153851629" style="zoom:50%;" />

| 序号 | 英文 | 作用 |
| ---- | ----------------------- | ------------------------------------------------------------ |
| 1 | compile | 编译当前页 |
| 2 | make | 编译全部文件 |
| 3 | toggle Breakpoint | 切换断点 |
| 4 | Make & Restart Debugger | 重新启动调试器并从头开始调试程序 |
| 5 | Restart Debugger | 重新开始调试,但不做代码更改或重新编译 |
| 6 | stop Debugger | 退出调试模式,返回到编辑器状态,释放调试器资源。 |
| 7 | step over | 逐过程调试 |
| 8 | step into | 逐语句调试 |
| 9 | step out | 跳出 |
| 10 | Next Statement | **不执行当前行**,将程序的执行位置**强制跳转**到下一条语句。用于控制程序流程,但不会影响变量或硬件状态。 |
| 11 | Run to Cursor | 程序从当前停止的位置开始**连续运行**,直到光标所在的那一行,然后**暂停执行**。 |
| 12 | Go | 在调试状态下,让程序从当前暂停位置**继续运行**,直到遇到断点、出错或程序结束。 |
| 13 | Break | **在程序运行过程中强制暂停执行**,进入调试状态,查看当前执行位置、变量状态等。 |
| 14 | Reset | 让 MCU 从复位向量重新启动程序执行(从 `main()` 或初始化开始)。 |

#### 14.2逐语句调试

菜单栏Step into。


+ 16
- 0
Library/Library.md Parādīt failu

@@ -11,6 +11,14 @@
- 对**运行时环境控制严格**的系统
- **性能敏感**且**无需热更新**的模块

**优点**

代码合并到模块中,无零散文件。

**缺点:**

程序体积变大,当多个模块使用时,内存中有多份代码。

#### 1.2静态库的生成

第一,创建新项目,选择静态库。
@@ -49,6 +57,14 @@

动态库(Dynamic Link Library, DLL / Shared Object, SO)是一种**在程序运行时才被加载的代码库**,允许多个程序共享同一份内存中的库副本

**优点:**

模块体积几乎不变,当多个模块调用是,只有一份代码。

**缺点:**

代码在单独文件中,有零散文件。

#### 2.2动态库的生成

##### 2.2.1通过导出语句生成


+ 2
- 2
MarkDown/MarkDown.md Parādīt failu

@@ -85,9 +85,9 @@ ___下划线

#### 3.4删除线

前后加两个~ ~ ~ ~
前后加两个~~ ~~~什么~~

~~比如这样~~
~~比如这样~~

~~也可以只在前面加,但是会删除整行



Binārs
Source Insight/Pictures/image-20250715110850248.png Parādīt failu

Pirms Pēc
Platums: 810  |  Augstums: 450  |  Izmērs: 31 KiB

+ 45
- 2
Source Insight/Source Insight.md Parādīt failu

@@ -1,3 +1,5 @@


## Source Insight相关知识点


@@ -22,6 +24,8 @@

选择上方菜单栏的Project,并选择其中的Synchronize Files进行代码的同步。

选项功能是选择同步本地文件。

<img src="./Pictures/image-20250708160555697.png" alt="image-20250708160555697" style="zoom:50%;" />

#### 1.4视图切换
@@ -30,7 +34,7 @@

<img src="./Pictures/image-20250708160619344.png" alt="image-20250708160619344" style="zoom:50%;" />

选择windows,选择Arrange,选择多视图排版,可以进行使徒的切换。
选择windows,选择Arrange,选择多视图排版,可以进行视图的切换。

<img src="./../IAR/Pictures/image-20250710161708689.png" alt="image-20250710161708689" style="zoom:50%;" />

@@ -54,6 +58,13 @@

在VIew菜单进行想要的窗口打开或关闭即可。

| 窗口 | 名称 | 作用 |
| :-----------------: | :------------: | :-----------------------------------------------------: |
| **Relation Window** | **关系窗口** | **函数调用关系**, **变量引用关系**,**继承与实现关系** |
| **Context Window** | **上下文窗口** | **代码结构可视化**,**实时跟踪光标位置**,**快速导航** |
| **Project Window** | **项目窗口** | **文件与目录管理**,**符号索引**,**快速搜索与跳转** |
| **Symbol Window** | **符号窗口** | **用于查看我们开启的文件以及文件内所包含的函数** |

<img src="./Pictures/image-20250708160639717.png" alt="image-20250708160639717" style="zoom:200%;" />

#### 1.6搜索引用
@@ -62,4 +73,36 @@

上方选择search也可以进行搜索引用。

<img src="./Pictures/image-20250708160654871.png" alt="image-20250708160654871" style="zoom:50%;" />
<img src="./Pictures/image-20250708160654871.png" alt="image-20250708160654871" style="zoom:50%;" />

Options各个选项作用

| 名称 | 作用 |
| ------------------------ | ------------------------------------------------------------ |
| case Sensitive | 区分大小写 |
| whole Words Only | 控制搜索范围的选项,确保搜索结果仅包含完整的单词,而非单词的一部分 |
| Skip inactive Code | 用于处理由条件编译(如 `#ifdef`、`#ifndef`)或其他逻辑控制导致的未激活代码区域 |
| Skip Comments | 让搜索操作忽略代码中的注释内容 |
| Search Only Comment | 仅搜索注释内容 |
| Smart Reference Marching | 用于识别和匹配代码中的符号引用(如变量、函数、类型等),而非简单的文本匹配 |

Serach Method(搜索方法)

| 名称 | 作用 |
| ------------------ | ------------------------------------------------------------ |
| simple string | 一种基本的搜索模式,用于执行直接的文本匹配 |
| regular Expression | 允许使用特殊字符和元字符来定义复杂的文本匹配规则 |
| Keyword Expression | 是一种介于简单字符串和正则表达式之间的搜索模式,它允许使用预定义的关键字符号来构建更灵活的搜索规则 |
| look up Reference | 用于快速定位代码中符号(如变量、函数、类型等)的定义和所有引用位置 |

查找的选项功能表

![image-20250715110850248](./Pictures/image-20250715110850248.png)

| 名称 | 作用 |
| ----------------------- | ------------------------------------------------------------ |
| case Sensitive | 区分大小写 |
| use regular Exprossions | **Use Regular Expressions**(使用正则表达式)是搜索功能的高级模式,允许通过特殊字符和元字符定义复杂的匹配规则 |
| warp Around | 循环查找 |
| select when found | 会高亮查找的文本 |
| whole words only | 启用该选项后,工具只会查找与搜索词完全一致的**完整单词**,而不会匹配包含该词的更长单词 |

Binārs
Sourcetree/Pictures/image-20250715131516043.png Parādīt failu

Pirms Pēc
Platums: 1903  |  Augstums: 603  |  Izmērs: 62 KiB

Binārs
Sourcetree/Pictures/image-20250715131629820.png Parādīt failu

Pirms Pēc
Platums: 1547  |  Augstums: 590  |  Izmērs: 60 KiB

Binārs
Sourcetree/Pictures/image-20250715131945230.png Parādīt failu

Pirms Pēc
Platums: 1919  |  Augstums: 1078  |  Izmērs: 171 KiB

Binārs
Sourcetree/Pictures/image-20250715132002916.png Parādīt failu

Pirms Pēc
Platums: 1919  |  Augstums: 1078  |  Izmērs: 171 KiB

Binārs
Sourcetree/Pictures/image-20250715132116446.png Parādīt failu

Pirms Pēc
Platums: 1919  |  Augstums: 1079  |  Izmērs: 138 KiB

Binārs
Sourcetree/Pictures/image-20250715132242834.png Parādīt failu

Pirms Pēc
Platums: 1915  |  Augstums: 1078  |  Izmērs: 195 KiB

Binārs
Sourcetree/Pictures/image-20250715132733190.png Parādīt failu

Pirms Pēc
Platums: 1443  |  Augstums: 877  |  Izmērs: 74 KiB

Binārs
Sourcetree/Pictures/image-20250715132744179.png Parādīt failu

Pirms Pēc
Platums: 1919  |  Augstums: 1069  |  Izmērs: 185 KiB

Binārs
Sourcetree/Pictures/image-20250715132747999.png Parādīt failu

Pirms Pēc
Platums: 1919  |  Augstums: 1069  |  Izmērs: 185 KiB

Binārs
Sourcetree/Pictures/image-20250716161140946.png Parādīt failu

Pirms Pēc
Platums: 1919  |  Augstums: 1078  |  Izmērs: 138 KiB

Binārs
Sourcetree/Pictures/image-20250716161244066.png Parādīt failu

Pirms Pēc
Platums: 1919  |  Augstums: 1034  |  Izmērs: 136 KiB

Binārs
Sourcetree/Pictures/image-20250716161350905.png Parādīt failu

Pirms Pēc
Platums: 1919  |  Augstums: 1076  |  Izmērs: 298 KiB

Binārs
Sourcetree/Pictures/image-20250716161506019.png Parādīt failu

Pirms Pēc
Platums: 1919  |  Augstums: 1074  |  Izmērs: 222 KiB

Binārs
Sourcetree/Pictures/image-20250716164410111.png Parādīt failu

Pirms Pēc
Platums: 1919  |  Augstums: 1079  |  Izmērs: 1.2 MiB

Binārs
Sourcetree/Pictures/image-20250716165057657.png Parādīt failu

Pirms Pēc
Platums: 1919  |  Augstums: 1079  |  Izmērs: 102 KiB

Binārs
Sourcetree/Pictures/image-20250716165118877.png Parādīt failu

Pirms Pēc
Platums: 1919  |  Augstums: 1079  |  Izmērs: 136 KiB

Binārs
Sourcetree/Pictures/image-20250716165453793.png Parādīt failu

Pirms Pēc
Platums: 1919  |  Augstums: 1079  |  Izmērs: 138 KiB

Binārs
Sourcetree/Pictures/image-20250716165617049.png Parādīt failu

Pirms Pēc
Platums: 1919  |  Augstums: 1079  |  Izmērs: 162 KiB

Binārs
Sourcetree/Pictures/image-20250716165645482.png Parādīt failu

Pirms Pēc
Platums: 1919  |  Augstums: 1079  |  Izmērs: 136 KiB

Binārs
Sourcetree/Pictures/image-20250716165820287.png Parādīt failu

Pirms Pēc
Platums: 1919  |  Augstums: 1078  |  Izmērs: 110 KiB

Binārs
Sourcetree/Pictures/image-20250716170022865.png Parādīt failu

Pirms Pēc
Platums: 1919  |  Augstums: 1079  |  Izmērs: 170 KiB

Binārs
Sourcetree/Pictures/image-20250716170247654.png Parādīt failu

Pirms Pēc
Platums: 1919  |  Augstums: 1079  |  Izmērs: 105 KiB

Binārs
Sourcetree/Pictures/image-20250716170317679.png Parādīt failu

Pirms Pēc
Platums: 1919  |  Augstums: 1079  |  Izmērs: 177 KiB

Binārs
Sourcetree/Pictures/image-20250716170352320.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 91 KiB

Binārs
Sourcetree/Pictures/image-20250716170805020.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 101 KiB

Binārs
Sourcetree/Pictures/image-20250716170855682.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 108 KiB

Binārs
Sourcetree/Pictures/image-20250716170941689.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 122 KiB

Binārs
Sourcetree/Pictures/image-20250716173143565.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 106 KiB

Binārs
Sourcetree/Pictures/image-20250716173348957.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 132 KiB

Binārs
Sourcetree/Pictures/image-20250716173441165.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 139 KiB

Binārs
Sourcetree/Pictures/image-20250716173550201.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 155 KiB

Binārs
Sourcetree/Pictures/image-20250716173607795.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 111 KiB

Binārs
Sourcetree/Pictures/image-20250716174214401.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 161 KiB

Binārs
Sourcetree/Pictures/image-20250716174617241.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 94 KiB

Binārs
Sourcetree/Pictures/image-20250716174648766.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 98 KiB

Binārs
Sourcetree/Pictures/image-20250716174732231.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 118 KiB

Binārs
Sourcetree/Pictures/image-20250716175122696.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 129 KiB

Binārs
Sourcetree/Pictures/image-20250716175145263.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 131 KiB

Binārs
Sourcetree/Pictures/image-20250716175417398.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 122 KiB

Binārs
Sourcetree/Pictures/image-20250716175433584.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 117 KiB

Binārs
Sourcetree/Pictures/image-20250716175601628.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 103 KiB

Binārs
Sourcetree/Pictures/image-20250716175643864.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 101 KiB

Binārs
Sourcetree/Pictures/image-20250716175945840.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 136 KiB

Binārs
Sourcetree/Pictures/image-20250716180158270.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 118 KiB

Binārs
Sourcetree/Pictures/image-20250716180303985.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 129 KiB

Binārs
Sourcetree/Pictures/image-20250716180604092.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 121 KiB

Binārs
Sourcetree/Pictures/image-20250716180630542.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 136 KiB

Binārs
Sourcetree/Pictures/image-20250716180703585.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 133 KiB

Binārs
Sourcetree/Pictures/image-20250716180938665.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 116 KiB

Binārs
Sourcetree/Pictures/image-20250716181021856.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 120 KiB

Binārs
Sourcetree/Pictures/image-20250716181047357.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 130 KiB

Binārs
Sourcetree/Pictures/image-20250716181438836.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 140 KiB

Binārs
Sourcetree/Pictures/image-20250716181454209.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 138 KiB

Binārs
Sourcetree/Pictures/image-20250716181509051.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 136 KiB

Binārs
Sourcetree/Pictures/image-20250716181532329.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 126 KiB

Binārs
Sourcetree/Pictures/image-20250716181710878.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 123 KiB

Binārs
Sourcetree/Pictures/image-20250716181736718.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 137 KiB

Binārs
Sourcetree/Pictures/image-20250716181912590.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 106 KiB

Binārs
Sourcetree/Pictures/image-20250716182030610.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 127 KiB

Binārs
Sourcetree/Pictures/image-20250716182040237.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 134 KiB

Binārs
Sourcetree/Pictures/image-20250716182235209.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 132 KiB

Binārs
Sourcetree/Pictures/image-20250716182311600.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 129 KiB

Binārs
Sourcetree/Pictures/image-20250716182329851.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 133 KiB

Binārs
Sourcetree/Pictures/image-20250716182430546.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 130 KiB

Binārs
Sourcetree/Pictures/image-20250716182440730.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 130 KiB

Binārs
Sourcetree/Pictures/image-20250716182522536.png Parādīt failu

Pirms Pēc
Platums: 1920  |  Augstums: 1030  |  Izmērs: 133 KiB

+ 182
- 33
Sourcetree/Sourcetree.md Parādīt failu

@@ -76,35 +76,73 @@ Sourcetree 是一款由 Atlassian 开发的免费图形化版本控制客户端

#### 1.1创建本地仓库

首先,在电脑上建立一个文件夹,然后在软件内建立本地仓库,目标路径选择需要管理的文件夹路径,创建成功后,就可以对本地仓库进行管理。
1. 本地建立工作文件夹workpace,并添加1.txt,增加内容为11。(如下图1所示)
2. 打开sourcetree,选择上方加号,选择Create,目标路径选择刚刚建立的文件夹路径,点击创建。即可生成本地仓库。(如下图2、3所示)![image-20250716164410111](./Pictures/image-20250716164410111.png)

<img src="./Pictures/image-20250708160913942.png" alt="image-20250708160913942" style="zoom:50%;" />
![image-20250716165057657](./Pictures/image-20250716165057657.png)

![image-20250716165118877](./Pictures/image-20250716165118877.png)

#### 1.2打开本地仓库

仓库创建完成后,在软件上方即可选择刚刚创建的仓库,打开之后,就可以对本地仓库进行管理了。
1. 选择软件上方菜单栏的加号,页面打开后,选择local本地仓库,即可看到本地所有仓库。(如下图1所示)
2. 选择想要打开的本地仓库,双击即可打开。(如下图2、3所示)

![image-20250716165453793](./Pictures/image-20250716165453793.png)

<img src="./Pictures/image-20250708160925365.png" alt="image-20250708160925365" style="zoom:50%;" />
![image-20250716165617049](./Pictures/image-20250716165617049.png)

![image-20250716165645482](./Pictures/image-20250716165645482.png)

#### 1.3克隆远程仓库

软件新建仓库时选择克隆,将需要克隆的远程仓库链接填入进来,同时选择克隆的路径,确定之后即可将远程仓库克隆到本地。
1. 选择软件上方菜单栏的加号,页面打开后,选择clone,即可看到克隆仓库。(如下图1所示)
2. 打开远程仓库,找到远程仓库的路径,选择复制。(如下图2所示)
3. 将复制的链接,粘贴到克隆界面的源路径,同时选择本地文件的路径,选择克隆即可。(如下图3所示)
4. 打开文件夹,即可发现远程仓库内容被克隆到本地。(如下图4、5所示)

![image-20250716165820287](./Pictures/image-20250716165820287.png)

![image-20250716170022865](./Pictures/image-20250716170022865.png)

![image-20250716170247654](./Pictures/image-20250716170247654.png)

![image-20250716170317679](./Pictures/image-20250716170317679.png)

![image-20250716170352320](./Pictures/image-20250716170352320.png)

<img src="./Pictures/image-20250708160944832.png" alt="image-20250708160944832" style="zoom:50%;" />
#### 1.4关联远程仓库

#### 1.4获取
1. 打开本地仓库界面,选择右上角设置(如下图1所示),出现远程设置(如下图2所示),点击下方添加按钮。
2. 打开界面后,将远程仓库的链接添加到路径,同时对该远程仓库进行命名。(如下图3所示)
3. 点击确定,即可将本地仓库与远程仓库进行关联。(如下图4所示)

在软件内找到和远程仓库关联的仓库,选择上方的获取可以获得远程仓库。
![image-20250716170805020](./Pictures/image-20250716170805020.png)

从远程仓库复制到本地文件,但不会合并。
![image-20250716170855682](./Pictures/image-20250716170855682.png)

<img src="./Pictures/image-20250708161000682.png" alt="image-20250708161000682" style="zoom:50%;" />
![image-20250716170941689](./Pictures/image-20250716170941689.png)

#### 1.5关联远程仓库
![image-20250716173143565](./Pictures/image-20250716173143565.png)

软件内找到设置功能,添加远程仓库,进行关联。
#### 1.5获取

<img src="./Pictures/image-20250708161023565.png" alt="image-20250708161023565" style="zoom:50%;" />
1. 选择软件上方菜单栏的获取功能(如下图1所示),弹出获取窗口。(如下图2所示)
2. 点击确定,接口将远程仓库的更新获取到本地仓库中。(如下图3、4所示)

![image-20250716173348957](./Pictures/image-20250716173348957.png)

![image-20250716173441165](./Pictures/image-20250716173441165.png)

![image-20250716173550201](./Pictures/image-20250716173550201.png)

![image-20250716173607795](./Pictures/image-20250716173607795.png)

**获取远程仓库时选项介绍:**

* **从全部远端获取更新:**同时更新所有已配置的远程仓库。
* **删掉所有远端现已不存在的分支:**清理本地过期的远程分支引用。
* **获取所有标签:**同步远程仓库的所有标签。

### 2.节点相关操作

@@ -114,13 +152,13 @@ Sourcetree 是一款由 Atlassian 开发的免费图形化版本控制客户端

<img src="./Pictures/image-20250708161149061.png" alt="image-20250708161149061" style="zoom:50%;" />

#### 2.2 重置
#### 2.2 重置

重置是将本此更改内容取消的操作,本地修改过后,如果在软件的本地仓库内选择重置,则会对本地文件进行版本回退,回到修改前的版本。

<img src="./Pictures/image-20250708161204838.png" alt="image-20250708161204838" style="zoom:50%;" />

#### 2.3回滚提交
#### 2.3回滚提交

在提交历史中选择需要回退到的版本,选择回滚提交,则会将版本回退到想要返回的版本。

@@ -134,58 +172,107 @@ Sourcetree 是一款由 Atlassian 开发的免费图形化版本控制客户端

<img src="./Pictures/image-20250708161231708.png" alt="image-20250708161231708" style="zoom:50%;" />

#### 3.2合并分支
如果选择新建本地分支并对远程分支进行跟踪,可以选择在远程文件中检出新分支到本地。

![image-20250716161350905](./Pictures/image-20250716161350905.png)

#### 3.2合并分支¥

合并分支指将多个分支进行统一,或者将分支的内容同步至其他分支。

合并分为平行合并和变基合并,平行合并会将分支的内容一次性挪到主干,变基合并会将分支的提交一个一个合并到主干。

**软合并**:将问题放到暂存区。

**混合合并**:若是分支领先,则直接提交,如果出现分叉,则会进行合并提交。

**强制合并**:强制生成合并提交。

<img src="./Pictures/image-20250708161247753.png" alt="image-20250708161247753" style="zoom:50%;" />

#### 3.3删除分支
激活master,选择要合并的支线,点击确定,将支线的所有变化的节点打包创建一个新节点合并过去。

1. 切换到**目标分支**(如 `master`)
2. 点击上方菜单栏的:**分支 → 合并(Merge)**
3. 在弹窗中选择你要合并进来的源分支(如 `dev1`)
4. 点击“确定”开始合并
5. 如果有冲突,会提示你处理冲突
6. 处理完冲突后,**提交合并记录**

#### 3.3删除分支¥

右键选择分支,直接删除即可。

<img src="./Pictures/image-20250708161301912.png" alt="image-20250708161301912" style="zoom:50%;" />

#### 3.4切换分支
删除分支时如果该分支没有备份,则会提示警告。可勾选强制删除进行删除。

![image-20250715131516043](./Pictures/image-20250715131516043.png)

直接左侧分支双击即可
#### 3.4切换分支¥

直接左侧分支双击即可或者选择检出分支。

<img src="./Pictures/image-20250708161314068.png" alt="image-20250708161314068" style="zoom:50%;" />

#### 3.5制造冲突

多个分支修改同一文件,同时将分支全部挪到主干时,会显示冲突。

#### 3.6解决冲突
#### 3.5制造冲突¥

多个分支修改同一文件,同时将多分支进行合并时,会显示冲突。

![image-20250715131629820](./Pictures/image-20250715131629820.png)

#### 3.6解决冲突¥

1. 可以手动确认选择,同时在提交时右键标记为已解决即可。

![image-20250715132002916](./Pictures/image-20250715132002916.png)

2. 选择忽略。

#### 3.7拉取
解决冲突有以下几种解决方式

1. 使用版本解决冲突,选择使用我的版本或他人版本进行解决。
2. 通过手动更改本地文件进行解决。

#### 3.7拉取¥

可以将他人传送到云端的内容拉取到自己的设备上面并合并。

<img src="./Pictures/image-20250708161333241.png" alt="image-20250708161333241" style="zoom:50%;" />

#### 3.8推送
#### 3.8推送

将本地内容推送到云端
将本地内容推送到远程仓库

<img src="./Pictures/image-20250708161414737.png" alt="image-20250708161414737" style="zoom:50%;" />

### 4.其他

#### 4.1书写忽略文件
#### 4.1书写忽略文件¥

文件夹内手动添加.gitignore 文件或者点击设置,选择忽略项,可以将不想让仓库追踪的文件写入里面。

![image-20250715132116446](./Pictures/image-20250715132116446.png)

添加.gitignore 文件,可以将不想让仓库获取的文件写入里面。
**忽略文件主要有以下几种**

#### 4.2停止跟踪
1. **忽略指定文件**:在 `.gitignore` 中添加精确文件名,如 `lalala.txt`,表示忽略该文件的所有更改。
2. **忽略特定类型的文件**:使用通配符后缀,如 `*.md` 表示忽略所有 `.md` 结尾的文件。
3. **忽略特定文件夹**:使用路径方式,如 `/name` 表示忽略项目根目录下的 `name` 文件夹及其所有内容。

#### 4.2停止跟踪¥

停止跟踪(Stop Tracking)是指将文件从 Git 仓库的版本控制中移除,但不会删除本地文件。这意味着这些文件将不再被 Git 跟踪和管理,但它们仍然保留在你的本地文件系统中。

#### 4.3创建补丁
![image-20250715132242834](./Pictures/image-20250715132242834.png)

停止跟踪可以选择含有该文件的提交节点,点击上方操作,选择停止跟踪。

也可以在提交时右键提交文件,选择移除。

#### 4.3创建补丁¥

提交列表中找到想要创建补丁的提交,右键即可创建补丁。

@@ -193,29 +280,91 @@ Sourcetree 是一款由 Atlassian 开发的免费图形化版本控制客户端

<img src="./Pictures/image-20250708161435985.png" alt="image-20250708161435985" style="zoom:50%;" />

**应用补丁的四种情况**:¥

**1. 分支上的 `1.txt` 内容与补丁内容完全一致**

- **表现**:补丁内容已经存在于文件中,Git 会检测到没有变化,通常补丁应用无效或跳过这部分,不会重复添加。
- **结果**:补丁不产生新改动,应用成功但无实际更改。

**2. 分支上的 `1.txt` 是空文件**

- **表现**:补丁中添加的内容(`+1`)会被完整地添加到空文件中。
- **结果**:文件由空变成包含补丁内容,补丁完全应用成功。

**3. 分支上的 `1.txt` 内容与补丁内容部分一致**

- **表现**:补丁中新增的内容与已有部分有重叠,Git 会尝试合并,可能成功应用新增部分,或者产生冲突需要手动解决。
- **结果**:补丁部分应用成功,冲突部分需人工介入。

**4. 分支中没有 `1.txt` 文件**

- **表现**:如果补丁涉及新增文件,Git 会直接创建 `1.txt` 并写入补丁内容;如果补丁只修改文件而文件不存在,则应用失败报错。
- 结果:
- 补丁新增文件时,文件被创建且内容写入。
- 补丁修改文件但文件缺失时,补丁应用失败。

#### 4.4删除补丁

直接右键删除即可。
选择补丁文件,直接右键删除即可。

#### 4.5贮藏
#### 4.5贮藏

临时保存未提交的本地修改,让工作区恢复干净。但注意,应添加描述。

![image-20250711130022399](./../IAR/Pictures/image-20250711130022399.png)

#### 4.6丢弃
贮藏可以选择暂存器文件,也可以选择非暂存区的文件进行贮藏。

#### 4.6丢弃¥

删除未提交的本地修改。

<img src="./../IAR/Pictures/image-20250711130039902.png" alt="image-20250711130039902" style="zoom:67%;" />

#### 4.7创建标签
丢弃操作只能对本地已包括的文件的更新内容进行丢弃,对于新添加的文件,因为不包含在我们的本地仓库中,无法进行丢弃操作。

(途中丢弃操作灰色,将其添加到暂存区时,可以丢弃,但是丢弃的只是提交这个操作)

![image-20250716161244066](./Pictures/image-20250716161244066.png)

#### 4.7创建标签¥

标记提交。

<img src="./Pictures/image-20250708161540040.png" alt="image-20250708161540040" style="zoom:50%;" />

标签单击表示跳转到标签节点,双击表示当前资源管理器显示打了标签时的节点的内容。

#### 4.8删除标签

右键删除标签即可。

![image-20250716161506019](./Pictures/image-20250716161506019.png)

#### 4.9检出节点

检出节点可以分为检出本地分支和远程仓库分支

1. 检出本地分支时,会将本地文件跳转至检出的分支。

2. 检出远程分支,则是将远程分支的内容检出到新的本地分支或者已经存在的本地分支上。

![image-20250715132747999](./Pictures/image-20250715132747999.png)

#### 4.10停止跟踪远程分支

可以右键本地分支选择跟踪远程分支为无

![image-20250715132733190](./Pictures/image-20250715132733190.png)

#### 4.11新检出远程分支注意

当从远程分支上选择检出新分支前,应保证本地不存在不存在存在远程分支跟踪残留。

删除本地分支(已跟踪远程分支)后,想要重新检出该远程分支报错解决办法:

第一,打开资源管理器,选择``.git/refs/remotes/origin/``,找到存在的本地残留,进行删除。

第二,重新获取远程分支,然后选择检出远程分支即可。


Binārs
UintTest/Pictures/image-20250714094111503.png Parādīt failu

Pirms Pēc
Platums: 1131  |  Augstums: 200  |  Izmērs: 12 KiB

Binārs
UintTest/Pictures/企业微信截图_17522164518089.png Parādīt failu

Pirms Pēc
Platums: 477  |  Augstums: 194  |  Izmērs: 11 KiB

Binārs
UintTest/Pictures/企业微信截图_17524732096026.png Parādīt failu

Pirms Pēc
Platums: 849  |  Augstums: 609  |  Izmērs: 28 KiB

+ 3
- 1
UintTest/UnitTest.md Parādīt failu

@@ -26,13 +26,15 @@

<img src=".\Pictures\image-20250709124004987.png" alt="image-20250709124004987" style="zoom:50%;" />



#### 2.2代码覆盖度

概念:**单元测试覆盖度**是衡量测试用例对代码逻辑覆盖程度的重要指标,通常包括行覆盖、分支覆盖、条件覆盖和路径覆盖等类型。它帮助开发者评估测试的全面性,确保代码的质量和稳定性。

想要查看代码覆盖度可以使用第三方工具,例如Goole Test。

<img src=".\Pictures\image-20250709124618237.png" alt="image-20250709124618237" style="zoom:50%;" />
![image-20250714094111503](./Pictures/image-20250714094111503.png)

#### 2.3运行性能



+ 7
- 0
VisualStudio/VisualStudio.md Parādīt failu

@@ -104,6 +104,13 @@

右键项目名称,打开项目属性页,选择“配置属性”->“C/C++”->“代码生成”->“运行库”。

| **选项** | **链接方式** | **依赖项** | **程序体积** | **调试信息** | **适用场景** |
| -------- | ------------ | ------------------------ | ------------ | ------------ | -------------------------- |
| /MT | 静态链接 | 无(独立部署) | 较大 | 无 | 独立应用、嵌入式系统 |
| /MTd | 静态链接 | 无(包含调试符号) | 最大 | 有 | 调试独立应用 |
| /MD | 动态链接 | msvcrt.dll(或更高版本) | 较小 | 无 | 常规应用程序(共享运行库) |
| /MDd | 动态链接 | msvcrtd.dll(调试版) | 中等 | 有 | 调试依赖 DLL 的应用程序 |

<img src="./Pictures/image-20250709084116006.png" alt="image-20250709084116006" style="zoom:50%;" />

#### 2.7调用库配置


Notiek ielāde…
Atcelt
Saglabāt