commit 944f1c2ca8f401104f071b22dcaf7ec27ab20809 Author: DESKTOP-J5JP3RN\kanxingyu <1764726953@qq.com> Date: Fri Jul 11 15:35:41 2025 +0800 阚星宇1.0 diff --git a/IAR/IAR.md b/IAR/IAR.md new file mode 100644 index 0000000..7dfd924 --- /dev/null +++ b/IAR/IAR.md @@ -0,0 +1,258 @@ +## IAR相关知识点 + + + +### 1.工程操作 + +#### 1.1各类型文件含义 + +##### 1.1.1工程核心文件 + +| 扩展名 | 名称 | 作用 | +| :----: | :------------------: | :----------------------------------------------------------: | +| .ewp | IAR 工程文件 | 存储工程配置(编译器选项、链接器设置、包含路径等) | +| .ewt | 嵌入式工作台模板文件 | 用于存储工程或文件的模板配置,方便快速创建具有相同设置的新项目。 | +| .eww | IAR 工作空间文件 | 管理多个工程(.ewp)的集合,方便同时打开多个关联工程 | +| .dep | 依赖文件 | 自动生成,记录源文件的依赖关系(如头文件引用),用于增量编译 | + +##### 1.1.2源代码文件 + +| 扩展名 | 名称 | 作用 | +| --------- | :-------: | :-------------------------------------------------: | +| .c | C源文件 | 主程序代码 | +| .cpp/.cxx | c++源文件 | c++程序代码 | +| .h | 头文件 | 函数声明、宏定义、类型声明 | +| .s/.asm | 汇编文件 | 底层硬件操作或高性能代码 | +| .icf | 链接脚本 | 控制内存分配(Flash/ROM、RAM 布局)关键硬件相关文件 | + +##### 1.1.3编译输出文件 + +| 扩展名 | 名称 | 作用 | +| ------ | :--------------: | :---------------------------------------------------------: | +| .out | ELF 格式输出文件 | 包含调试信息的可执行文件(用于下载和调试) | +| .hex | Intel HEX 文件 | 烧录到芯片的标准十六进制格式 | +| .bin | 二进制镜像 | 裸机烧录文件(无地址信息,需配合烧录工具指定地址) | +| .map | 内存映射文件 | 详细展示代码/数据在内存中的分布(分析栈溢出、内存占用必看) | +| .lst | 列表文件 | 汇编与源码混合视图(用于优化和调试) | + +##### 1.1.4调试相关文件 + +| 扩展名 | 名称 | 作用 | +| -------- | :--------------: | :----------------------------------------: | +| .cspybat | C-SPY 批处理文件 | 自动化调试脚本(初始化寄存器、批量设断点) | +| .ddf | 设备描述文件 | 定义芯片寄存器(用于调试器外设视图) | +| .board | 开发板描述文件 | 配置板级硬件(时钟、引脚复用等) | +| .mac | 调试宏文件 | 扩展调试器功能(如自定义内存填充检测) | + +##### 1.1.5配置与中间文件 + +| 扩展名 | 名称 | 作用 | +| --------------- | :----------: | :----------------------------------: | +| .custom_argvars | 环境变量配置 | 存储用户自定义环境变量(如编译路径) | +| .settings | IDE 设置文件 | 保存编辑器偏好(字体、颜色方案等) | +| .o/.obj | 目标文件 | 单个源文件的编译结果(链接时合并) | +| .d | 依赖信息文件 | Makefile 使用的依赖规则 | + +##### 1.1.6特殊工具文件 + +| 扩展名 | 名称 | 作用 | +| ------ | :--------------: | :--------------------------------------: | +| .xcl | XLINK 链接器配置 | 高级链接控制(段重命名、优化选项) | +| .i | 预处理输出文件 | 展开宏和头文件后的源码(排查宏错误必备) | +| .sbr | 浏览信息文件 | 用于代码导航(函数调用关系) | + +#### 1.2新建/打开工作区 + +软件左上角File菜单内点击New workspace即可创建新的工作区,如需要打开选择Open即可。 + +image-20250708131909282 + +#### 1.3新建/打开工程 + +工作区新建/打开完成后,选择上方的Project,选择Create New project选择创建类型并命名和存档后完成新建工程。 + +打开工程选择Add。 + +image-20250708131945592 + +#### 1.4工作区中导入/添加工程 + +选择上方的Project,点击Add Existing Project,便可以添加项目。 + +image-20250708132254972 + +#### 1.5新建分组 + +右键项目名称,选择Add Group,新建分组 + +image-20250708132546212 + +#### 1.6新建/打开文件 + +右键项目名称,选择Add File,新建文件。 + +image-20250708133238110 + +#### 1.7工程目录与文件目录的关系 + +工程目录是文件目录的容器,通过相对路径引用文件目录中的资源。 + +工程目录主要负责项目配置和构建控制,而文件目录则是源代码的物理存储位置。两者通过工程文件中的引用关系连接起来,形成完整的开发环境结构。 + +### 2.工程配置 + +#### 2.1设备配置 + +右键工程文件,选择Options,进入工程配置,选择需要的单片机设备型号。 + +image-20250708135420393 + +### 3.编译配置 + +#### 3.1优化等级 + +右键Options,选择C/C++ --> Optimizations ,进行优化等级配置。 + +image-20250709180547755 + +#### 3.2硬件浮点 + +General Options 界面,选择32bit或64bit,选择fpu功能是否开启。 + +image-20250708140541188 + +#### 3.3预处理 + +右键Options,选择C/C++ --> Preprocessor ,Defined symbols进行预处理。 + +image-20250709180618391 + +#### 3.4链接文件 + +Linker页面设置链接文件。 + +image-20250708142245783 + +#### 3.5文件路径位置 + +在Option页面C/C++设置文件路径位置,包括头文件位置。 + +image-20250708142455122 + +#### 3.6输出文件配置 + +选择Output页面,然后设置输出文件位置。 + +image-20250708142616060 + +#### 3.7输出文件路径 + +打开Option,选择General,选择output进行配置。 + +image-20250708142932221 + +### 4.调试器配置 + +打开Option,选择Debug进行配置 + +image-20250708143112548 + +### 5.库相关配置 + +设置库文件相关位置,同时在程序内include头文件,使用库。 + +image-20250710142954145 + +### 6.静态库的封装和调用 + +新建项目,同时设置.h和.c文件,进行内部程序的编写。注意减少外部依赖,能够直接移植调用。写完之后点击option进行设置,选择General,OutPut选择library,然后make编译生成.lib文件,使用时复制.lib文件到项目内,并在option内进行配置,然后选择Linker -- > Library,将静态库.lib文件添加,返回工程重新编译。 + +image-20250708144035699 + +image-20250709181230566 + +### 7.工程调试 + +#### 7.1断点 + +##### 7.1.1设置断点 + +左侧标红设置断点 + +image-20250708150820220 + +##### 7.1.2禁用断点 + +鼠标右键点击,disable breakpoints。 + +image-20250708151057158 + +##### 7.1.3启用断点 + +鼠标右键点击,disable breakpoints。 + +##### 7.1.4取消断点 + +鼠标左键点击断点即可取消。 + +##### 7.1.5条件断点 + +鼠标右键想要断点处,选择Edit Breakpoint,将条件写入即可。 + +image-20250708152500923 + +### 8.监控信息 + +选择view,找到watch,找到想要监视的信息,将其拖到watch窗口即可。 + +image-20250708152756370 + +### 9.寄存器信息 + +打开view的registers窗口即可查看寄存器信息。 + +image-20250708152951214 + +### 10.内存信息 + +打开view的memory窗口即可查看寄存器信息 + +![image-20250708153108132](.\Pictures\image-20250708153108132.png) + +### 11.栈信息 + +打开view的stack窗口即可查看栈信息 + +image-20250708153204889 + +### 12.汇编信息 + +打开view的disassembly窗口可以查看汇编信息 + +image-20250708153257586 + +### 13.调用堆栈信息 + +打开view的call Stack窗口可以查看堆栈信息 + +image-20250708153531949 + +### 14.单步调试 + +#### 14.1逐过程调试 + +菜单栏Step over。 + +image-20250708153851629 + +#### 14.2逐语句调试 + +菜单栏Step into。 + +#### 14.3 复位 + +菜单栏Restart。 + +#### 14.4跳出 + +菜单栏step out。 \ No newline at end of file diff --git a/IAR/Pictures/image-20250708131909282.png b/IAR/Pictures/image-20250708131909282.png new file mode 100644 index 0000000..1ca5634 Binary files /dev/null and b/IAR/Pictures/image-20250708131909282.png differ diff --git a/IAR/Pictures/image-20250708131945592.png b/IAR/Pictures/image-20250708131945592.png new file mode 100644 index 0000000..9410eaf Binary files /dev/null and b/IAR/Pictures/image-20250708131945592.png differ diff --git a/IAR/Pictures/image-20250708132254972.png b/IAR/Pictures/image-20250708132254972.png new file mode 100644 index 0000000..a86ecf1 Binary files /dev/null and b/IAR/Pictures/image-20250708132254972.png differ diff --git a/IAR/Pictures/image-20250708132546212.png b/IAR/Pictures/image-20250708132546212.png new file mode 100644 index 0000000..0d0921c Binary files /dev/null and b/IAR/Pictures/image-20250708132546212.png differ diff --git a/IAR/Pictures/image-20250708133238110.png b/IAR/Pictures/image-20250708133238110.png new file mode 100644 index 0000000..ad1289e Binary files /dev/null and b/IAR/Pictures/image-20250708133238110.png differ diff --git a/IAR/Pictures/image-20250708135420393.png b/IAR/Pictures/image-20250708135420393.png new file mode 100644 index 0000000..2b9bd1a Binary files /dev/null and b/IAR/Pictures/image-20250708135420393.png differ diff --git a/IAR/Pictures/image-20250708135958571.png b/IAR/Pictures/image-20250708135958571.png new file mode 100644 index 0000000..4495b77 Binary files /dev/null and b/IAR/Pictures/image-20250708135958571.png differ diff --git a/IAR/Pictures/image-20250708140541188.png b/IAR/Pictures/image-20250708140541188.png new file mode 100644 index 0000000..7613195 Binary files /dev/null and b/IAR/Pictures/image-20250708140541188.png differ diff --git a/IAR/Pictures/image-20250708141257388.png b/IAR/Pictures/image-20250708141257388.png new file mode 100644 index 0000000..76dc16e Binary files /dev/null and b/IAR/Pictures/image-20250708141257388.png differ diff --git a/IAR/Pictures/image-20250708142245783.png b/IAR/Pictures/image-20250708142245783.png new file mode 100644 index 0000000..4920341 Binary files /dev/null and b/IAR/Pictures/image-20250708142245783.png differ diff --git a/IAR/Pictures/image-20250708142455122.png b/IAR/Pictures/image-20250708142455122.png new file mode 100644 index 0000000..8ea3dfb Binary files /dev/null and b/IAR/Pictures/image-20250708142455122.png differ diff --git a/IAR/Pictures/image-20250708142616060.png b/IAR/Pictures/image-20250708142616060.png new file mode 100644 index 0000000..bd1017f Binary files /dev/null and b/IAR/Pictures/image-20250708142616060.png differ diff --git a/IAR/Pictures/image-20250708142932221.png b/IAR/Pictures/image-20250708142932221.png new file mode 100644 index 0000000..48688eb Binary files /dev/null and b/IAR/Pictures/image-20250708142932221.png differ diff --git a/IAR/Pictures/image-20250708143112548.png b/IAR/Pictures/image-20250708143112548.png new file mode 100644 index 0000000..65a4bee Binary files /dev/null and b/IAR/Pictures/image-20250708143112548.png differ diff --git a/IAR/Pictures/image-20250708144035699.png b/IAR/Pictures/image-20250708144035699.png new file mode 100644 index 0000000..96136f6 Binary files /dev/null and b/IAR/Pictures/image-20250708144035699.png differ diff --git a/IAR/Pictures/image-20250708150820220.png b/IAR/Pictures/image-20250708150820220.png new file mode 100644 index 0000000..7008ca7 Binary files /dev/null and b/IAR/Pictures/image-20250708150820220.png differ diff --git a/IAR/Pictures/image-20250708151057158.png b/IAR/Pictures/image-20250708151057158.png new file mode 100644 index 0000000..f88f673 Binary files /dev/null and b/IAR/Pictures/image-20250708151057158.png differ diff --git a/IAR/Pictures/image-20250708152500923.png b/IAR/Pictures/image-20250708152500923.png new file mode 100644 index 0000000..7fcf127 Binary files /dev/null and b/IAR/Pictures/image-20250708152500923.png differ diff --git a/IAR/Pictures/image-20250708152756370.png b/IAR/Pictures/image-20250708152756370.png new file mode 100644 index 0000000..ae6eb35 Binary files /dev/null and b/IAR/Pictures/image-20250708152756370.png differ diff --git a/IAR/Pictures/image-20250708152951214.png b/IAR/Pictures/image-20250708152951214.png new file mode 100644 index 0000000..150ae3e Binary files /dev/null and b/IAR/Pictures/image-20250708152951214.png differ diff --git a/IAR/Pictures/image-20250708153108132.png b/IAR/Pictures/image-20250708153108132.png new file mode 100644 index 0000000..64bd4a3 Binary files /dev/null and b/IAR/Pictures/image-20250708153108132.png differ diff --git a/IAR/Pictures/image-20250708153204889.png b/IAR/Pictures/image-20250708153204889.png new file mode 100644 index 0000000..21b0be5 Binary files /dev/null and b/IAR/Pictures/image-20250708153204889.png differ diff --git a/IAR/Pictures/image-20250708153257586.png b/IAR/Pictures/image-20250708153257586.png new file mode 100644 index 0000000..b88e533 Binary files /dev/null and b/IAR/Pictures/image-20250708153257586.png differ diff --git a/IAR/Pictures/image-20250708153531949.png b/IAR/Pictures/image-20250708153531949.png new file mode 100644 index 0000000..9bea2ca Binary files /dev/null and b/IAR/Pictures/image-20250708153531949.png differ diff --git a/IAR/Pictures/image-20250708153851629.png b/IAR/Pictures/image-20250708153851629.png new file mode 100644 index 0000000..d57ef0b Binary files /dev/null and b/IAR/Pictures/image-20250708153851629.png differ diff --git a/IAR/Pictures/image-20250709180547755.png b/IAR/Pictures/image-20250709180547755.png new file mode 100644 index 0000000..314d319 Binary files /dev/null and b/IAR/Pictures/image-20250709180547755.png differ diff --git a/IAR/Pictures/image-20250709180618391.png b/IAR/Pictures/image-20250709180618391.png new file mode 100644 index 0000000..de0f07c Binary files /dev/null and b/IAR/Pictures/image-20250709180618391.png differ diff --git a/IAR/Pictures/image-20250709180905530.png b/IAR/Pictures/image-20250709180905530.png new file mode 100644 index 0000000..80cab88 Binary files /dev/null and b/IAR/Pictures/image-20250709180905530.png differ diff --git a/IAR/Pictures/image-20250709181010911.png b/IAR/Pictures/image-20250709181010911.png new file mode 100644 index 0000000..bc7611c Binary files /dev/null and b/IAR/Pictures/image-20250709181010911.png differ diff --git a/IAR/Pictures/image-20250709181230566.png b/IAR/Pictures/image-20250709181230566.png new file mode 100644 index 0000000..8aa58a0 Binary files /dev/null and b/IAR/Pictures/image-20250709181230566.png differ diff --git a/IAR/Pictures/image-20250710125750078.png b/IAR/Pictures/image-20250710125750078.png new file mode 100644 index 0000000..613926d Binary files /dev/null and b/IAR/Pictures/image-20250710125750078.png differ diff --git a/IAR/Pictures/image-20250710125826600.png b/IAR/Pictures/image-20250710125826600.png new file mode 100644 index 0000000..7526425 Binary files /dev/null and b/IAR/Pictures/image-20250710125826600.png differ diff --git a/IAR/Pictures/image-20250710135821708.png b/IAR/Pictures/image-20250710135821708.png new file mode 100644 index 0000000..b5bcd0b Binary files /dev/null and b/IAR/Pictures/image-20250710135821708.png differ diff --git a/IAR/Pictures/image-20250710140023223.png b/IAR/Pictures/image-20250710140023223.png new file mode 100644 index 0000000..24e48ee Binary files /dev/null and b/IAR/Pictures/image-20250710140023223.png differ diff --git a/IAR/Pictures/image-20250710142954145.png b/IAR/Pictures/image-20250710142954145.png new file mode 100644 index 0000000..0e713b6 Binary files /dev/null and b/IAR/Pictures/image-20250710142954145.png differ diff --git a/IAR/Pictures/image-20250710153852360.png b/IAR/Pictures/image-20250710153852360.png new file mode 100644 index 0000000..178f050 Binary files /dev/null and b/IAR/Pictures/image-20250710153852360.png differ diff --git a/IAR/Pictures/image-20250710153915835.png b/IAR/Pictures/image-20250710153915835.png new file mode 100644 index 0000000..b239d89 Binary files /dev/null and b/IAR/Pictures/image-20250710153915835.png differ diff --git a/IAR/Pictures/image-20250710155713655.png b/IAR/Pictures/image-20250710155713655.png new file mode 100644 index 0000000..763b1d9 Binary files /dev/null and b/IAR/Pictures/image-20250710155713655.png differ diff --git a/IAR/Pictures/image-20250710155748226.png b/IAR/Pictures/image-20250710155748226.png new file mode 100644 index 0000000..61fd8d1 Binary files /dev/null and b/IAR/Pictures/image-20250710155748226.png differ diff --git a/IAR/Pictures/image-20250710155750585.png b/IAR/Pictures/image-20250710155750585.png new file mode 100644 index 0000000..61fd8d1 Binary files /dev/null and b/IAR/Pictures/image-20250710155750585.png differ diff --git a/IAR/Pictures/image-20250710161708689.png b/IAR/Pictures/image-20250710161708689.png new file mode 100644 index 0000000..498b0b3 Binary files /dev/null and b/IAR/Pictures/image-20250710161708689.png differ diff --git a/IAR/Pictures/image-20250711130022399.png b/IAR/Pictures/image-20250711130022399.png new file mode 100644 index 0000000..b50fe0c Binary files /dev/null and b/IAR/Pictures/image-20250711130022399.png differ diff --git a/IAR/Pictures/image-20250711130039902.png b/IAR/Pictures/image-20250711130039902.png new file mode 100644 index 0000000..bde07fd Binary files /dev/null and b/IAR/Pictures/image-20250711130039902.png differ diff --git a/Library/Library.md b/Library/Library.md new file mode 100644 index 0000000..cf91885 --- /dev/null +++ b/Library/Library.md @@ -0,0 +1,105 @@ +## Library相关知识点 + + +### 1.静态库 + +#### 1.1静态库的基本概念 + +静态库是**编译期绑定**的代码复用方案,适合: + +- 追求**部署简单性**的场景 +- 对**运行时环境控制严格**的系统 +- **性能敏感**且**无需热更新**的模块 + +#### 1.2静态库的生成 + +第一,创建新项目,选择静态库。 + +第二,添加.c文件,同时编写.h和.c文件进行编写,编写完成后进行编译,生成.lib格式的静态库文件。 + +#### 1.3静态库的调用 + +##### 1.3.1在工程配置中调用 + +**静态库调用有三种方式**: + +**第一**,在工程中调用静态库需要静态库路径,首先include,“内填写路径,并最后写.h文件名”,其次需要 + +#pragma comment进行静态库声明,然后就可以在函数内使用静态库。 + +image-20250708195734251 + +image-20250708195750876 + +**第二**,在项目属性 -- > 链接器 --> 常规 --> 附加库中添加静态库.lib文件的地址,并在输入页面附加依赖项中添加.lib文件。 + +**第三**,直接将lib文件添加到项目中。 + +以上三种方法都需要添加.h文件到项目。 + +##### 1.3.2在代码中语句加载lib调用 + +程序内可以使用相对路径也可以使用绝对路径,相对路径时需要将静态库文件复制到工程文件内。 + +参考上一项。 + +### 2.动态库 + +#### 2.1动态库的基本概念 + +动态库(Dynamic Link Library, DLL / Shared Object, SO)是一种**在程序运行时才被加载的代码库**,允许多个程序共享同一份内存中的库副本 + +#### 2.2动态库的生成 + +##### 2.2.1通过导出语句生成 + +通过dllimport与dllexport导出语句生成动态库,新建空白项目,添加头文件源文件进行编写,在头文件中添加导出语句即可,然后将方案属性选择动态库,生成解决方案即可导出动态库。如图所示。 + +image-20250709103933102 + +下图是动态库导出的文件夹状态。 + +![image-20250709104007991](./../VisualStudio/Pictures/image-20250709104007991.png) + +##### 2.2.2通过模块文件生成 + +通过def文件进行生成动态库。生成前需要添加def文件,然后添加代码进行生成操作。 + +image-20250710125750078 + +image-20250710125826600 + +#### 2.3动态库的调用 + +##### 2.3.1在工程配置中调用 + +动态库的调用分为隐性和显性调用两种。 + +第一,隐性调用,需要将动态库生成的.lib、.h和.dll文件添加到项目文件下,其次在项目工程中,通过属性-->链接器-->输入-->添加依赖项.lib文件,同时工程内添加.h头文件,然后可以进行调用了。 + +image-20250709104635329 + +image-20250709104647954 + +第二,显性调用 + +定义函数指针,并声明函数指针变量,然后通过程序动态加载dll文件到内存中(HINSTANCE hModule = LoadLibrary("TestDll.dll");),并获取指针地址,最后调用函数。 + +image-20250709104909662 + +image-20250709104930529 + +##### 2.3.2在代码中语句加载lib调用 + +#pragma comment (lib,地址),地址可以选择绝对地址或者相对地址。 + +image-20250708195734251 + +##### 2.3.3在代码中语句加载dll调用 + +HINSTANCE hDll = LoadLibrary(TEXT("DLLTest.dll")); + +image-20250710153852360 + +image-20250710153915835 + diff --git a/Library/Pictures/image-20250708195734251.png b/Library/Pictures/image-20250708195734251.png new file mode 100644 index 0000000..a5a4675 Binary files /dev/null and b/Library/Pictures/image-20250708195734251.png differ diff --git a/Library/Pictures/image-20250708195750876.png b/Library/Pictures/image-20250708195750876.png new file mode 100644 index 0000000..2973f59 Binary files /dev/null and b/Library/Pictures/image-20250708195750876.png differ diff --git a/Library/Pictures/image-20250710125750078.png b/Library/Pictures/image-20250710125750078.png new file mode 100644 index 0000000..613926d Binary files /dev/null and b/Library/Pictures/image-20250710125750078.png differ diff --git a/Library/Pictures/image-20250710125826600.png b/Library/Pictures/image-20250710125826600.png new file mode 100644 index 0000000..7526425 Binary files /dev/null and b/Library/Pictures/image-20250710125826600.png differ diff --git a/Library/Pictures/image-20250710135821708.png b/Library/Pictures/image-20250710135821708.png new file mode 100644 index 0000000..b5bcd0b Binary files /dev/null and b/Library/Pictures/image-20250710135821708.png differ diff --git a/Library/Pictures/image-20250710140023223.png b/Library/Pictures/image-20250710140023223.png new file mode 100644 index 0000000..24e48ee Binary files /dev/null and b/Library/Pictures/image-20250710140023223.png differ diff --git a/MarkDown/MarkDown.md b/MarkDown/MarkDown.md new file mode 100644 index 0000000..6818400 --- /dev/null +++ b/MarkDown/MarkDown.md @@ -0,0 +1,189 @@ +# MarkDown相关知识点 + + + + +### 1.标题相关 + +要创建标题,请在单词或短语前面添加井号 (#) 。# 的数量代表了标题的级别。例如,添加三个 # 表示创建一个三级标题 (

) (例如:### My Header)。 + +### 三级标题My Header + +## 二级标题My Header + +# 一级标题My Header + +image-20250708155340635 + +### 2.标号相关 + +#### 2.1有序标号 + +要创建有序列表,请在每个列表项前添加数字并紧跟一个英文句点。数字不必按数学顺序排列,但是列表应当以数字 1 起始。 + +1. nihao +2. queshi + +> 要创建块引用 + +image-20250710155713655 + +#### 2.2无序标号 + +要创建无序列表,请在每个列表项前面添加破折号 (-)、星号 (*) 或加号 (+) 。缩进一个或多个列表项可创建嵌套列表。 + +* 你好 + + + +* 对的 + +image-20250710155750585 + +#### 2.3段落 + +要创建段落,请使用空白行将一行或多行文本进行分隔。 + +比如这样 + +分开了 + +image-20250708155510443 + +### 3.文字相关 + +#### 3.1粗体(Bold) + +要加粗文本,请在单词或短语的前后各添加两个星号(asterisks)或下划线(underscores)。如需加粗一个单词或短语的中间部分用以表示强调的话,请在要加粗部分的两侧各添加两个星号(asterisks)。 +**星号加粗** + +__下划线加粗__ + +image-20250708155536014 + +#### 3.2斜体 + +要用斜体显示文本,请在单词或短语前后添加一个星号(asterisk)或下划线(underscore)。要斜体突出单词的中间部分,请在字母前后各添加一个星号,中间不要带空格。 + +*型号斜体 + +_下划线斜体 + +image-20250708155601355 + +#### 3.3加粗倾斜 + +要同时用粗体和斜体突出显示文本,请在单词或短语的前后各添加三个星号或下划线。要加粗并用斜体显示单词或短语的中间部分,请在要突出显示的部分前后各添加三个星号,中间不要带空格。 + +***型号 + +___下划线 + +**_混用 + +image-20250708155614646 + +#### 3.4删除线 + +前后加两个~ ~ ~ ~ + +~~比如这样~~ + +~~也可以只在前面加,但是会删除整行 + +image-20250708155628100 + +### 4.代码块 + +#### 4.1单行代码块 + +代码块的每一行缩进至少四个空格或一个制表符。 + + int a; + float b; + +image-20250708155650658 + +#### 4.3多行代码块 + +根据Markdown处理器或编辑器的不同,您将在代码块之前和之后的行上使用三个反引号((```)或三个波浪号(~~~)。 + +~~~ +#include +int a; +int b; +~~~ + +image-20250708155714755 + +### 5.超链接 + +#### 5.1文字超链接 + +链接文本放在中括号内,链接地址放在后面的括号中,链接title可选。 + +超链接Markdown语法代码:[超链接显示名](超链接地址 "超链接title") + +这是个编译器 [点击进入在线编辑器](https://markdown.com.cn/editor/ "这个是MarkDown的在线编译器") + +image-20250708155739721 + +#### 5.2图片超链接 + +\[![沙漠中的岩石图片](/assets/img/shiprock.jpg "Shiprock")](https://markdown.com.cn) + +[![超级凶的狗](https://ts1.tc.mm.bing.net/th/id/R-C.6e8bf84d4d9c57813ca595b36e48bf3b?rik=Zp6MkbBADpgABg&riu=http%3a%2f%2fpic.qianye88.com%2f4kaijic5331ea4-e35d-3baf-8b09-c37769139446.jpeg&ehk=QAtk9bDA1oBGfXSWW8tNWbRuG6jc%2bdegUz0c3BQhdf4%3d&risl=&pid=ImgRaw&r=0 "很凶")]( https://ts1.tc.mm.bing.net/th/id/R-C.6e8bf84d4d9c57813ca595b36e48bf3b?rik=Zp6MkbBADpgABg&riu=http%3a%2f%2fpic.qianye88.com%2f4kaijic5331ea4-e35d-3baf-8b09-c37769139446.jpeg&ehk=QAtk9bDA1oBGfXSWW8tNWbRuG6jc%2bdegUz0c3BQhdf4%3d&risl=&pid=ImgRaw&r=0 ) + +image-20250708155800582 + +#### 5.3页面内跳转 + +[跳转到第一节](#MarkDown相关知识点) + +[cc](#section1) + + +### 6.其他 + +#### 6.1分割线 + +要创建分隔线,请在单独一行上使用三个或多个星号 (***)、破折号 (---) 或下划线 (___) ,并且不能包含其他内容。 + +*** + +--- + +___ + +image-20250708155842847 + +#### 6.2图片 + +要添加图像,请使用感叹号 (!), 然后在方括号增加替代文本,图片链接放在圆括号里,括号里的链接后可以增加一个可选的图片标题文本。 + +![超级凶的狗](https://ts1.tc.mm.bing.net/th/id/R-C.6e8bf84d4d9c57813ca595b36e48bf3b?rik=Zp6MkbBADpgABg&riu=http%3a%2f%2fpic.qianye88.com%2f4kaijic5331ea4-e35d-3baf-8b09-c37769139446.jpeg&ehk=QAtk9bDA1oBGfXSWW8tNWbRuG6jc%2bdegUz0c3BQhdf4%3d&risl=&pid=ImgRaw&r=0 "很凶") + +#### 6.3表格 + +要添加表,请使用三个或多个连字符(---)创建每列的标题,并使用管道(|)分隔每列。您可以选择在表的任一端添加管道。 + +| 首先|然后|其次| +|:---:|:---|---:| +|nihao|你好|hello| + +image-20250708155916615 + +#### 6.4引用 + +要创建块引用,请在段落前添加一个 > 符号。 + +块引用可以包含多个段落。为段落之间的空白行添加一个 > 符号。 + +块引用可以嵌套。在要嵌套的段落前添加一个 >> 符号。 + +>有点重复了好像 +> > 确实是这样,不过应该没事吧 +> > >只好这样了 + +image-20250708155941980 + diff --git a/MarkDown/Pictures/image-20250708155340635.png b/MarkDown/Pictures/image-20250708155340635.png new file mode 100644 index 0000000..75c6d5d Binary files /dev/null and b/MarkDown/Pictures/image-20250708155340635.png differ diff --git a/MarkDown/Pictures/image-20250708155417689.png b/MarkDown/Pictures/image-20250708155417689.png new file mode 100644 index 0000000..cad834b Binary files /dev/null and b/MarkDown/Pictures/image-20250708155417689.png differ diff --git a/MarkDown/Pictures/image-20250708155510443.png b/MarkDown/Pictures/image-20250708155510443.png new file mode 100644 index 0000000..b6341bc Binary files /dev/null and b/MarkDown/Pictures/image-20250708155510443.png differ diff --git a/MarkDown/Pictures/image-20250708155536014.png b/MarkDown/Pictures/image-20250708155536014.png new file mode 100644 index 0000000..d0f9d87 Binary files /dev/null and b/MarkDown/Pictures/image-20250708155536014.png differ diff --git a/MarkDown/Pictures/image-20250708155601355.png b/MarkDown/Pictures/image-20250708155601355.png new file mode 100644 index 0000000..b466dfc Binary files /dev/null and b/MarkDown/Pictures/image-20250708155601355.png differ diff --git a/MarkDown/Pictures/image-20250708155614646.png b/MarkDown/Pictures/image-20250708155614646.png new file mode 100644 index 0000000..e1f315d Binary files /dev/null and b/MarkDown/Pictures/image-20250708155614646.png differ diff --git a/MarkDown/Pictures/image-20250708155628100.png b/MarkDown/Pictures/image-20250708155628100.png new file mode 100644 index 0000000..23af6e3 Binary files /dev/null and b/MarkDown/Pictures/image-20250708155628100.png differ diff --git a/MarkDown/Pictures/image-20250708155650658.png b/MarkDown/Pictures/image-20250708155650658.png new file mode 100644 index 0000000..d6116ae Binary files /dev/null and b/MarkDown/Pictures/image-20250708155650658.png differ diff --git a/MarkDown/Pictures/image-20250708155714755.png b/MarkDown/Pictures/image-20250708155714755.png new file mode 100644 index 0000000..6c1e9dc Binary files /dev/null and b/MarkDown/Pictures/image-20250708155714755.png differ diff --git a/MarkDown/Pictures/image-20250708155739721.png b/MarkDown/Pictures/image-20250708155739721.png new file mode 100644 index 0000000..6e28775 Binary files /dev/null and b/MarkDown/Pictures/image-20250708155739721.png differ diff --git a/MarkDown/Pictures/image-20250708155800582.png b/MarkDown/Pictures/image-20250708155800582.png new file mode 100644 index 0000000..abdebaa Binary files /dev/null and b/MarkDown/Pictures/image-20250708155800582.png differ diff --git a/MarkDown/Pictures/image-20250708155842847.png b/MarkDown/Pictures/image-20250708155842847.png new file mode 100644 index 0000000..9a02013 Binary files /dev/null and b/MarkDown/Pictures/image-20250708155842847.png differ diff --git a/MarkDown/Pictures/image-20250708155916615.png b/MarkDown/Pictures/image-20250708155916615.png new file mode 100644 index 0000000..45b9f33 Binary files /dev/null and b/MarkDown/Pictures/image-20250708155916615.png differ diff --git a/MarkDown/Pictures/image-20250708155941980.png b/MarkDown/Pictures/image-20250708155941980.png new file mode 100644 index 0000000..4e0e165 Binary files /dev/null and b/MarkDown/Pictures/image-20250708155941980.png differ diff --git a/MarkDown/Pictures/image-20250708160446388.png b/MarkDown/Pictures/image-20250708160446388.png new file mode 100644 index 0000000..862edc6 Binary files /dev/null and b/MarkDown/Pictures/image-20250708160446388.png differ diff --git a/Source Insight/Pictures/image-20250708160507674.png b/Source Insight/Pictures/image-20250708160507674.png new file mode 100644 index 0000000..862edc6 Binary files /dev/null and b/Source Insight/Pictures/image-20250708160507674.png differ diff --git a/Source Insight/Pictures/image-20250708160523160.png b/Source Insight/Pictures/image-20250708160523160.png new file mode 100644 index 0000000..98f27ff Binary files /dev/null and b/Source Insight/Pictures/image-20250708160523160.png differ diff --git a/Source Insight/Pictures/image-20250708160555697.png b/Source Insight/Pictures/image-20250708160555697.png new file mode 100644 index 0000000..d3a3503 Binary files /dev/null and b/Source Insight/Pictures/image-20250708160555697.png differ diff --git a/Source Insight/Pictures/image-20250708160619344.png b/Source Insight/Pictures/image-20250708160619344.png new file mode 100644 index 0000000..430b79e Binary files /dev/null and b/Source Insight/Pictures/image-20250708160619344.png differ diff --git a/Source Insight/Pictures/image-20250708160639717.png b/Source Insight/Pictures/image-20250708160639717.png new file mode 100644 index 0000000..b8025ad Binary files /dev/null and b/Source Insight/Pictures/image-20250708160639717.png differ diff --git a/Source Insight/Pictures/image-20250708160654871.png b/Source Insight/Pictures/image-20250708160654871.png new file mode 100644 index 0000000..e1b2e89 Binary files /dev/null and b/Source Insight/Pictures/image-20250708160654871.png differ diff --git a/Source Insight/Source Insight.md b/Source Insight/Source Insight.md new file mode 100644 index 0000000..73e34f9 --- /dev/null +++ b/Source Insight/Source Insight.md @@ -0,0 +1,65 @@ +## Source Insight相关知识点 + + + +### 1.常规操作 + +#### 1.1工程新建/添加 + +点击上方Project,选择New Project进行项目创建,或选择Open Project进行项目添加。 + +![image-20250708160507674](./Pictures/image-20250708160507674.png) + +#### 1.2文件新建/添加 + +项目新建后,会弹出窗口提示文件添加,根据想要添加的文件位置进行查找并添加即可。 + +新建文件可以选择左侧的File,选择New即可添加新文件并进行编写。 + +![image-20250708160523160](./Pictures/image-20250708160523160.png) + +#### 1.3符号表同步 + +选择上方菜单栏的Project,并选择其中的Synchronize Files进行代码的同步。 + +image-20250708160555697 + +#### 1.4视图切换 + +右侧Panel view窗口内选择想要查看的程序。 + +image-20250708160619344 + +选择windows,选择Arrange,选择多视图排版,可以进行使徒的切换。 + +image-20250710161708689 + +高亮选中符号:F8 + +替换:Ctrl + h + +查找:Ctrl + f + +全局查找:Ctrl + / + +向上搜索 Ctrl + F3 + +向下搜索 Ctrl + F4 + +跳转到行:F5 + +跳转到定义:Ctrl + 鼠标左键 + +#### 1.5常用窗口打开或关闭 + +在VIew菜单进行想要的窗口打开或关闭即可。 + +image-20250708160639717 + +#### 1.6搜索引用 + +可以在想要搜索的函数上右键鼠标,选择Look up,或者在软件的右上角R图标进行搜索即可。若要跳转至函数页面,可以Ctrl加鼠标左键即可。 + +上方选择search也可以进行搜索引用。 + +image-20250708160654871 \ No newline at end of file diff --git a/Sourcetree/Pictures/image-20250708160913942.png b/Sourcetree/Pictures/image-20250708160913942.png new file mode 100644 index 0000000..b720b87 Binary files /dev/null and b/Sourcetree/Pictures/image-20250708160913942.png differ diff --git a/Sourcetree/Pictures/image-20250708160925365.png b/Sourcetree/Pictures/image-20250708160925365.png new file mode 100644 index 0000000..5e4325c Binary files /dev/null and b/Sourcetree/Pictures/image-20250708160925365.png differ diff --git a/Sourcetree/Pictures/image-20250708160944832.png b/Sourcetree/Pictures/image-20250708160944832.png new file mode 100644 index 0000000..c6300f1 Binary files /dev/null and b/Sourcetree/Pictures/image-20250708160944832.png differ diff --git a/Sourcetree/Pictures/image-20250708161000682.png b/Sourcetree/Pictures/image-20250708161000682.png new file mode 100644 index 0000000..1154683 Binary files /dev/null and b/Sourcetree/Pictures/image-20250708161000682.png differ diff --git a/Sourcetree/Pictures/image-20250708161023565.png b/Sourcetree/Pictures/image-20250708161023565.png new file mode 100644 index 0000000..8aa2ceb Binary files /dev/null and b/Sourcetree/Pictures/image-20250708161023565.png differ diff --git a/Sourcetree/Pictures/image-20250708161149061.png b/Sourcetree/Pictures/image-20250708161149061.png new file mode 100644 index 0000000..282992d Binary files /dev/null and b/Sourcetree/Pictures/image-20250708161149061.png differ diff --git a/Sourcetree/Pictures/image-20250708161204838.png b/Sourcetree/Pictures/image-20250708161204838.png new file mode 100644 index 0000000..3ee5357 Binary files /dev/null and b/Sourcetree/Pictures/image-20250708161204838.png differ diff --git a/Sourcetree/Pictures/image-20250708161218765.png b/Sourcetree/Pictures/image-20250708161218765.png new file mode 100644 index 0000000..93e2172 Binary files /dev/null and b/Sourcetree/Pictures/image-20250708161218765.png differ diff --git a/Sourcetree/Pictures/image-20250708161231708.png b/Sourcetree/Pictures/image-20250708161231708.png new file mode 100644 index 0000000..af7de47 Binary files /dev/null and b/Sourcetree/Pictures/image-20250708161231708.png differ diff --git a/Sourcetree/Pictures/image-20250708161247753.png b/Sourcetree/Pictures/image-20250708161247753.png new file mode 100644 index 0000000..9e26314 Binary files /dev/null and b/Sourcetree/Pictures/image-20250708161247753.png differ diff --git a/Sourcetree/Pictures/image-20250708161301912.png b/Sourcetree/Pictures/image-20250708161301912.png new file mode 100644 index 0000000..f57b516 Binary files /dev/null and b/Sourcetree/Pictures/image-20250708161301912.png differ diff --git a/Sourcetree/Pictures/image-20250708161314068.png b/Sourcetree/Pictures/image-20250708161314068.png new file mode 100644 index 0000000..beef24a Binary files /dev/null and b/Sourcetree/Pictures/image-20250708161314068.png differ diff --git a/Sourcetree/Pictures/image-20250708161333241.png b/Sourcetree/Pictures/image-20250708161333241.png new file mode 100644 index 0000000..8dd390c Binary files /dev/null and b/Sourcetree/Pictures/image-20250708161333241.png differ diff --git a/Sourcetree/Pictures/image-20250708161414737.png b/Sourcetree/Pictures/image-20250708161414737.png new file mode 100644 index 0000000..597adc6 Binary files /dev/null and b/Sourcetree/Pictures/image-20250708161414737.png differ diff --git a/Sourcetree/Pictures/image-20250708161435985.png b/Sourcetree/Pictures/image-20250708161435985.png new file mode 100644 index 0000000..f985664 Binary files /dev/null and b/Sourcetree/Pictures/image-20250708161435985.png differ diff --git a/Sourcetree/Pictures/image-20250708161510352.png b/Sourcetree/Pictures/image-20250708161510352.png new file mode 100644 index 0000000..0df76cc Binary files /dev/null and b/Sourcetree/Pictures/image-20250708161510352.png differ diff --git a/Sourcetree/Pictures/image-20250708161523455.png b/Sourcetree/Pictures/image-20250708161523455.png new file mode 100644 index 0000000..8b480e3 Binary files /dev/null and b/Sourcetree/Pictures/image-20250708161523455.png differ diff --git a/Sourcetree/Pictures/image-20250708161540040.png b/Sourcetree/Pictures/image-20250708161540040.png new file mode 100644 index 0000000..532ea39 Binary files /dev/null and b/Sourcetree/Pictures/image-20250708161540040.png differ diff --git a/Sourcetree/Sourcetree.md b/Sourcetree/Sourcetree.md new file mode 100644 index 0000000..89bb43f --- /dev/null +++ b/Sourcetree/Sourcetree.md @@ -0,0 +1,221 @@ +# 代码管理相关技术点 + + + +## Git + +### 1.Git的概念 + +**Git** 是**分布式版本控制系统**的核心工具,用于**追踪文件变更、协调多人协作、保存代码历史快照**。 + +Git是目前世界上最先进的分布式版本控制系统,在处理各种项目时都十分高效,而且非常的高大上。 + +作为一个分布式版本控制系统来说,Git是没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。例如我们一个小团队合作开发一个项目,我们可以先建立一个远程仓库,需求分析,搭建大体框架,将项目框架上传至远程仓库,队员可以git clone项目,各自完成自己负责的部分,完善项目等,写好之后还可以比对之前的版本,本地项目写好之后上传至远程仓库,出现错误还可以版本回退等等。 + +### 2.三个区域的概念 + +在 Git 中,**三个核心区域**构成了版本控制的核心框架,它们协同工作以实现精确的变更管理。 + +#### 2.1工作区 + +**定位**:本地磁盘可见的代码目录。 + +**本质**:开发者的实施编辑沙盒。 + +**特点**:所有的文件修改都在此处,状态通过git status查看。 + +#### 2.2暂存区 + +**定位**:git目录下的二进制索引文件。 + +**本质**:提交前的精准快速缓存区。 + +**特点**:解决了提交半成品代码的痛点。 + +#### 2.3本地仓库 + +**定位**:项目根目录下的.git隐藏文件夹。 + +**本质**:版本数据库,用来存储提交历史。 + +### 3.仓库的概念 + +Git 仓库(Repository)是 Git 版本控制系统的核心概念,用于存储项目文件及其完整版本历史。 + +仓库类型包括了本地仓库和远程仓库两种。 + +### 4.节点的概念 + +Git中的**节点**是版本控制的基础,通过提交对象记录项目状态,结合分支和HEAD指针实现高效的代码管理与协作。 + +节点的本质是**提交对象**,是版本的核心**控制单元**。 + +节点的组成有以下几部分: + +1.**树对象**:指向当前快照的目录结构,记录文件的名称、权限和内容。 + +2.**父节点**:首次提交没有父节点,普通提交有一个,合并提交会有多个。 + +3.**元数据**:主要用来记录作者、提交者、时间戳和内容。 + +### 5.分支的概念 + +在Git中,**分支(Branch)** 是 **指向提交节点(Commit)的轻量级指针**,用于标记和管理不同的开发线路。其核心作用是允许开发者在并行线程中工作,而不会相互干扰。 + + + +## Source tree + + + +### 1.Source tree的概念 + +Sourcetree 是一款由 Atlassian 开发的免费图形化版本控制客户端,主要用于管理 Git 和 Mercurial(Hg) 代码仓库。它通过直观的界面简化了版本控制操作。 + +### 1.仓库相关操作 + +#### 1.1创建本地仓库 + +首先,在电脑上建立一个文件夹,然后在软件内建立本地仓库,目标路径选择需要管理的文件夹路径,创建成功后,就可以对本地仓库进行管理。 + +image-20250708160913942 + +#### 1.2打开本地仓库 + +仓库创建完成后,在软件上方即可选择刚刚创建的仓库,打开之后,就可以对本地仓库进行管理了。 + +image-20250708160925365 + +#### 1.3克隆远程仓库 + +软件新建仓库时选择克隆,将需要克隆的远程仓库链接填入进来,同时选择克隆的路径,确定之后即可将远程仓库克隆到本地。 + +image-20250708160944832 + +#### 1.4获取 + +在软件内找到和远程仓库关联的仓库,选择上方的获取可以获得远程仓库。 + +从远程仓库复制到本地文件,但不会合并。 + +image-20250708161000682 + +#### 1.5关联远程仓库 + +软件内找到设置功能,添加远程仓库,进行关联。 + +image-20250708161023565 + +### 2.节点相关操作 + +#### 2.1提交 + +当本地仓库变动时,文件状态部分会显示需要提交,提交时应当补充变动内容或者能让自己看懂的语句,提交后,可在提交历史查看。 + +image-20250708161149061 + +#### 2.2 重置 + +重置是将本此更改内容取消的操作,本地修改过后,如果在软件的本地仓库内选择重置,则会对本地文件进行版本回退,回到修改前的版本。 + +image-20250708161204838 + +#### 2.3回滚提交 + +在提交历史中选择需要回退到的版本,选择回滚提交,则会将版本回退到想要返回的版本。 + +image-20250708161218765 + +### 3.分支相关操作 + +#### 3.1新建分支 + +对当前仓库想要进行其他操作,经常采用新建分支,新建分支可以在软件上面菜单栏点击创建,可以选择工作副本或者是新文件进行管理。 + +image-20250708161231708 + +#### 3.2合并分支 + +合并分支指将多个分支进行统一,或者将分支的内容同步至其他分支。 + +合并分为平行合并和变基合并,平行合并会将分支的内容一次性挪到主干,变基合并会将分支的提交一个一个合并到主干。 + +image-20250708161247753 + +#### 3.3删除分支 + +右键选择分支,直接删除即可。 + +image-20250708161301912 + +#### 3.4切换分支 + +直接左侧分支双击即可 + +image-20250708161314068 + +#### 3.5制造冲突 + +多个分支修改同一文件,同时将分支全部挪到主干时,会显示冲突。 + +#### 3.6解决冲突 + +1. 可以手动确认选择,同时在提交时右键标记为已解决即可。 +2. 选择忽略。 + +#### 3.7拉取 + +可以将他人传送到云端的内容拉取到自己的设备上面并合并。 + +image-20250708161333241 + +#### 3.8推送 + +将本地内容推送到云端。 + +image-20250708161414737 + +### 4.其他 + +#### 4.1书写忽略文件 + +添加.gitignore 文件,可以将不想让仓库获取的文件写入里面。 + +#### 4.2停止跟踪 + +停止跟踪(Stop Tracking)是指将文件从 Git 仓库的版本控制中移除,但不会删除本地文件。这意味着这些文件将不再被 Git 跟踪和管理,但它们仍然保留在你的本地文件系统中。 + +#### 4.3创建补丁 + +提交列表中找到想要创建补丁的提交,右键即可创建补丁。 + +补丁(Patch)在软件开发中是一个记录代码变更的文本文件,它本质上是两个代码版本之间的差异(diff)。它的核心作用是精确、轻量地传递代码变更。 + +image-20250708161435985 + +#### 4.4删除补丁 + +直接右键删除即可。 + +#### 4.5贮藏 + +临时保存未提交的本地修改,让工作区恢复干净。但注意,应添加描述。 + +![image-20250711130022399](./../IAR/Pictures/image-20250711130022399.png) + +#### 4.6丢弃 + +删除未提交的本地修改。 + +image-20250711130039902 + +#### 4.7创建标签 + +标记提交。 + +image-20250708161540040 + +#### 4.8删除标签 + +右键删除标签即可。 + diff --git a/UintTest/Pictures/image-20250709123659484.png b/UintTest/Pictures/image-20250709123659484.png new file mode 100644 index 0000000..75fde3d Binary files /dev/null and b/UintTest/Pictures/image-20250709123659484.png differ diff --git a/UintTest/Pictures/image-20250709123824376.png b/UintTest/Pictures/image-20250709123824376.png new file mode 100644 index 0000000..836512b Binary files /dev/null and b/UintTest/Pictures/image-20250709123824376.png differ diff --git a/UintTest/Pictures/image-20250709123912091.png b/UintTest/Pictures/image-20250709123912091.png new file mode 100644 index 0000000..b5fb8dc Binary files /dev/null and b/UintTest/Pictures/image-20250709123912091.png differ diff --git a/UintTest/Pictures/image-20250709124004987.png b/UintTest/Pictures/image-20250709124004987.png new file mode 100644 index 0000000..f2c3f38 Binary files /dev/null and b/UintTest/Pictures/image-20250709124004987.png differ diff --git a/UintTest/Pictures/image-20250709124618237.png b/UintTest/Pictures/image-20250709124618237.png new file mode 100644 index 0000000..7f5efa5 Binary files /dev/null and b/UintTest/Pictures/image-20250709124618237.png differ diff --git a/UintTest/Pictures/image-20250709125323664.png b/UintTest/Pictures/image-20250709125323664.png new file mode 100644 index 0000000..05c74e2 Binary files /dev/null and b/UintTest/Pictures/image-20250709125323664.png differ diff --git a/UintTest/Pictures/image-20250709125333601.png b/UintTest/Pictures/image-20250709125333601.png new file mode 100644 index 0000000..7801ce1 Binary files /dev/null and b/UintTest/Pictures/image-20250709125333601.png differ diff --git a/UintTest/Pictures/image-20250709125349976.png b/UintTest/Pictures/image-20250709125349976.png new file mode 100644 index 0000000..1c3f2ba Binary files /dev/null and b/UintTest/Pictures/image-20250709125349976.png differ diff --git a/UintTest/Pictures/image-20250709125538122.png b/UintTest/Pictures/image-20250709125538122.png new file mode 100644 index 0000000..39f0442 Binary files /dev/null and b/UintTest/Pictures/image-20250709125538122.png differ diff --git a/UintTest/UnitTest.md b/UintTest/UnitTest.md new file mode 100644 index 0000000..247a4d8 --- /dev/null +++ b/UintTest/UnitTest.md @@ -0,0 +1,59 @@ +## UnitTest相关知识点 + + + +### 1.单元测试基本概念 + +单元测试是对软件中的最小可测试单元进行检查和验证,通常由开发人员编写和执行。单元测试不仅用于保证当前代码的正确性,更重要的是在代码修复、改进或重构之后,确保其仍然正确 + +### 2.单元测试 + +#### 2.1单元测试创建和书写 + +第一步:选择新建项目,项目类型选择本机单元测试项目,点击创建即可。 + +image-20250709123659484 + +第二步:右键单元测试项目,选择添加想要测试的程序(obj文件)。 + +image-20250709123824376 + +第三步:编写测试代码,同时调用被测试的项目的头文件。 + +image-20250709123912091 + +第四步:上方测试菜单选择测试资源管理器,右键管理器内的项目,选择运行即可。 + +image-20250709124004987 + +#### 2.2代码覆盖度 + +概念:**单元测试覆盖度**是衡量测试用例对代码逻辑覆盖程度的重要指标,通常包括行覆盖、分支覆盖、条件覆盖和路径覆盖等类型。它帮助开发者评估测试的全面性,确保代码的质量和稳定性。 + +想要查看代码覆盖度可以使用第三方工具,例如Goole Test。 + +image-20250709124618237 + +#### 2.3运行性能 + +运行性能可以通过性能测试进行判断,可以通过查看管理器界面查看运行后的性能显示,也可以多次进行重复测试,来保证代码运行性能。 + +同时可以在设置内选择性能规则。 + +image-20250709125323664 + +image-20250709125333601 + +#### 2.4单元测试的调试 + +可以在软件上方的测试菜单栏选择调试所有测试,来进行单元测试的调试。 + +image-20250709125538122 + +调试时可以选择上方菜单栏,使用不同调试功能。 + +image-20250710135821708 + +也可以在窗口模式选择查看堆栈、监视等窗口功能进行使用。 + +image-20250710140023223 \ No newline at end of file diff --git a/VisualStudio/Pictures/image-20250708181230842.png b/VisualStudio/Pictures/image-20250708181230842.png new file mode 100644 index 0000000..5f69469 Binary files /dev/null and b/VisualStudio/Pictures/image-20250708181230842.png differ diff --git a/VisualStudio/Pictures/image-20250708181507336.png b/VisualStudio/Pictures/image-20250708181507336.png new file mode 100644 index 0000000..7b4168a Binary files /dev/null and b/VisualStudio/Pictures/image-20250708181507336.png differ diff --git a/VisualStudio/Pictures/image-20250708181940421.png b/VisualStudio/Pictures/image-20250708181940421.png new file mode 100644 index 0000000..1e68c92 Binary files /dev/null and b/VisualStudio/Pictures/image-20250708181940421.png differ diff --git a/VisualStudio/Pictures/image-20250708182202047.png b/VisualStudio/Pictures/image-20250708182202047.png new file mode 100644 index 0000000..50754da Binary files /dev/null and b/VisualStudio/Pictures/image-20250708182202047.png differ diff --git a/VisualStudio/Pictures/image-20250708182447030.png b/VisualStudio/Pictures/image-20250708182447030.png new file mode 100644 index 0000000..de42172 Binary files /dev/null and b/VisualStudio/Pictures/image-20250708182447030.png differ diff --git a/VisualStudio/Pictures/image-20250708182747578.png b/VisualStudio/Pictures/image-20250708182747578.png new file mode 100644 index 0000000..f9bd272 Binary files /dev/null and b/VisualStudio/Pictures/image-20250708182747578.png differ diff --git a/VisualStudio/Pictures/image-20250708183645369.png b/VisualStudio/Pictures/image-20250708183645369.png new file mode 100644 index 0000000..7d2da66 Binary files /dev/null and b/VisualStudio/Pictures/image-20250708183645369.png differ diff --git a/VisualStudio/Pictures/image-20250708184834282.png b/VisualStudio/Pictures/image-20250708184834282.png new file mode 100644 index 0000000..3abafd7 Binary files /dev/null and b/VisualStudio/Pictures/image-20250708184834282.png differ diff --git a/VisualStudio/Pictures/image-20250709081251375.png b/VisualStudio/Pictures/image-20250709081251375.png new file mode 100644 index 0000000..93037a9 Binary files /dev/null and b/VisualStudio/Pictures/image-20250709081251375.png differ diff --git a/VisualStudio/Pictures/image-20250709081851839.png b/VisualStudio/Pictures/image-20250709081851839.png new file mode 100644 index 0000000..ca59cf0 Binary files /dev/null and b/VisualStudio/Pictures/image-20250709081851839.png differ diff --git a/VisualStudio/Pictures/image-20250709081951952.png b/VisualStudio/Pictures/image-20250709081951952.png new file mode 100644 index 0000000..26c3d58 Binary files /dev/null and b/VisualStudio/Pictures/image-20250709081951952.png differ diff --git a/VisualStudio/Pictures/image-20250709082233488.png b/VisualStudio/Pictures/image-20250709082233488.png new file mode 100644 index 0000000..2b89ef1 Binary files /dev/null and b/VisualStudio/Pictures/image-20250709082233488.png differ diff --git a/VisualStudio/Pictures/image-20250709083935947.png b/VisualStudio/Pictures/image-20250709083935947.png new file mode 100644 index 0000000..f3e908e Binary files /dev/null and b/VisualStudio/Pictures/image-20250709083935947.png differ diff --git a/VisualStudio/Pictures/image-20250709084116006.png b/VisualStudio/Pictures/image-20250709084116006.png new file mode 100644 index 0000000..6aa24da Binary files /dev/null and b/VisualStudio/Pictures/image-20250709084116006.png differ diff --git a/VisualStudio/Pictures/image-20250709084423970.png b/VisualStudio/Pictures/image-20250709084423970.png new file mode 100644 index 0000000..c58f172 Binary files /dev/null and b/VisualStudio/Pictures/image-20250709084423970.png differ diff --git a/VisualStudio/Pictures/image-20250709084712506.png b/VisualStudio/Pictures/image-20250709084712506.png new file mode 100644 index 0000000..f043f4d Binary files /dev/null and b/VisualStudio/Pictures/image-20250709084712506.png differ diff --git a/VisualStudio/Pictures/image-20250709084815273.png b/VisualStudio/Pictures/image-20250709084815273.png new file mode 100644 index 0000000..1a58037 Binary files /dev/null and b/VisualStudio/Pictures/image-20250709084815273.png differ diff --git a/VisualStudio/Pictures/image-20250709084906233.png b/VisualStudio/Pictures/image-20250709084906233.png new file mode 100644 index 0000000..64ac89b Binary files /dev/null and b/VisualStudio/Pictures/image-20250709084906233.png differ diff --git a/VisualStudio/Pictures/image-20250709084932936.png b/VisualStudio/Pictures/image-20250709084932936.png new file mode 100644 index 0000000..90548e2 Binary files /dev/null and b/VisualStudio/Pictures/image-20250709084932936.png differ diff --git a/VisualStudio/Pictures/image-20250709084958219.png b/VisualStudio/Pictures/image-20250709084958219.png new file mode 100644 index 0000000..a194be8 Binary files /dev/null and b/VisualStudio/Pictures/image-20250709084958219.png differ diff --git a/VisualStudio/Pictures/image-20250709085027828.png b/VisualStudio/Pictures/image-20250709085027828.png new file mode 100644 index 0000000..1803959 Binary files /dev/null and b/VisualStudio/Pictures/image-20250709085027828.png differ diff --git a/VisualStudio/Pictures/image-20250709085216327.png b/VisualStudio/Pictures/image-20250709085216327.png new file mode 100644 index 0000000..1df2239 Binary files /dev/null and b/VisualStudio/Pictures/image-20250709085216327.png differ diff --git a/VisualStudio/Pictures/image-20250709085409071.png b/VisualStudio/Pictures/image-20250709085409071.png new file mode 100644 index 0000000..5d77059 Binary files /dev/null and b/VisualStudio/Pictures/image-20250709085409071.png differ diff --git a/VisualStudio/Pictures/image-20250709085443868.png b/VisualStudio/Pictures/image-20250709085443868.png new file mode 100644 index 0000000..bace616 Binary files /dev/null and b/VisualStudio/Pictures/image-20250709085443868.png differ diff --git a/VisualStudio/Pictures/image-20250709085527148.png b/VisualStudio/Pictures/image-20250709085527148.png new file mode 100644 index 0000000..034ec29 Binary files /dev/null and b/VisualStudio/Pictures/image-20250709085527148.png differ diff --git a/VisualStudio/Pictures/image-20250709090027237.png b/VisualStudio/Pictures/image-20250709090027237.png new file mode 100644 index 0000000..ba67ae1 Binary files /dev/null and b/VisualStudio/Pictures/image-20250709090027237.png differ diff --git a/VisualStudio/Pictures/image-20250709090037410.png b/VisualStudio/Pictures/image-20250709090037410.png new file mode 100644 index 0000000..4f4d7f5 Binary files /dev/null and b/VisualStudio/Pictures/image-20250709090037410.png differ diff --git a/VisualStudio/Pictures/image-20250709090040709.png b/VisualStudio/Pictures/image-20250709090040709.png new file mode 100644 index 0000000..4f4d7f5 Binary files /dev/null and b/VisualStudio/Pictures/image-20250709090040709.png differ diff --git a/VisualStudio/Pictures/image-20250709090044198.png b/VisualStudio/Pictures/image-20250709090044198.png new file mode 100644 index 0000000..4f4d7f5 Binary files /dev/null and b/VisualStudio/Pictures/image-20250709090044198.png differ diff --git a/VisualStudio/Pictures/image-20250709103933102.png b/VisualStudio/Pictures/image-20250709103933102.png new file mode 100644 index 0000000..9a39aac Binary files /dev/null and b/VisualStudio/Pictures/image-20250709103933102.png differ diff --git a/VisualStudio/Pictures/image-20250709104007991.png b/VisualStudio/Pictures/image-20250709104007991.png new file mode 100644 index 0000000..c29b97c Binary files /dev/null and b/VisualStudio/Pictures/image-20250709104007991.png differ diff --git a/VisualStudio/Pictures/image-20250709104635329.png b/VisualStudio/Pictures/image-20250709104635329.png new file mode 100644 index 0000000..8e21ca6 Binary files /dev/null and b/VisualStudio/Pictures/image-20250709104635329.png differ diff --git a/VisualStudio/Pictures/image-20250709104645676.png b/VisualStudio/Pictures/image-20250709104645676.png new file mode 100644 index 0000000..b4d2c2d Binary files /dev/null and b/VisualStudio/Pictures/image-20250709104645676.png differ diff --git a/VisualStudio/Pictures/image-20250709104647954.png b/VisualStudio/Pictures/image-20250709104647954.png new file mode 100644 index 0000000..b4d2c2d Binary files /dev/null and b/VisualStudio/Pictures/image-20250709104647954.png differ diff --git a/VisualStudio/Pictures/image-20250709104909662.png b/VisualStudio/Pictures/image-20250709104909662.png new file mode 100644 index 0000000..d4e13a6 Binary files /dev/null and b/VisualStudio/Pictures/image-20250709104909662.png differ diff --git a/VisualStudio/Pictures/image-20250709104930529.png b/VisualStudio/Pictures/image-20250709104930529.png new file mode 100644 index 0000000..cc61461 Binary files /dev/null and b/VisualStudio/Pictures/image-20250709104930529.png differ diff --git a/VisualStudio/VisualStudio.md b/VisualStudio/VisualStudio.md new file mode 100644 index 0000000..9c676ff --- /dev/null +++ b/VisualStudio/VisualStudio.md @@ -0,0 +1,207 @@ +## VisualStudio相关知识点 + + + +### 1.工程创建 + +#### 1.1工程相关 + +##### 1.1.1创建/打开项目 + +左上角选择文件,选择新建或打开项目。选择空文件,对项目进行命名并选择位置即可创建新项目。 + +image-20250708181230842 + +##### 1.1.2加载/卸载项目 + +鼠标右键点击项目,选择卸载即可,同时点击以卸载项目可以进行重新加载。 + +![image-20250708181507336](./Pictures/image-20250708181507336.png) + +##### 1.1.3设置启动项 + +鼠标右键单击项目,选择设置启动项选项。 + +image-20250708181940421 + +#### 1.2解决方案相关 + +##### 1.2.1添加项目 + +创建新项目时可以选择创建解决方案,同时提供合并选项,如合并,则项目文件与解决方案在同一文件夹内,同时提供添加到解决方案,则是将新项目添加至已有解决方案内。 + +image-20250708182202047 + +#### 1.3文件相关 + +##### 1.3.1创建/打开文件 + +菜单文件栏选择新建文件,可以选择新建多个格式文件,同时也可以选择打开已有文件,方便后面编写程序,新建文件可添加至项目内。 + +image-20250708182447030 + +##### 1.3.2包括/排除文件 + +包括文件即将文件添加至项目内,可以选择右键想要添加进的目录,选择添加文件,将想要添加进的文件选中,排除则是移除目录内文件。 + +image-20250708182747578 + +### 2.工程配置 + +#### 2.1解决方案配置 + +解决方案配置可以鼠标右键解决方案一项,选择配置管理器打开,配置管理器提供了配置和平台, Debug是方便debug调试的,而Release是能优化程序运行。 + +image-20250709081251375 + +#### 2.2平台配置 + +平台配置的实质是 **开发环境基础 + 项目构建目标 + 运行时环境适配** 的三层统一 + +需要在属性页进行平台配置,选择硬件平台。 + +**简单的说,它们之间最直接的区别就是**:x86平台编译出来的exe(可执行文件)或dll(动态链接库)都是32位的。以此类推,x64对应的则是64位的。而Any CPU则是取决于当前的操作系统,若操作系统是32位的,则编译出来的程序就是32位的,反之编译出来的就是64位程序。 + +image-20250708184834282 + +#### 2.3项目类型配置 + +**项目类型配置**(Project Configuration)是指为**特定项目类型**设置的编译、生成和部署规则。它定义了项目在特定目标(如 `Debug` 或 `Release`)下的行为,是解决方案配置在单个项目上的具体实现。 + +项目类型配置可以选择右键项目属性,选择输出属性进行配置。 + +image-20250709081851839 + +#### 2.4路径配置 + +##### 2.4.1输出路径配置 + +修改输出路径配置需要右键项目选择属性,在属性内进行输出目录的更改,即可进行输出路径配置。 + +image-20250709081951952 + +##### 2.4.2头文件路径配置 + +属性页选择VC++页码,找到包含目录,可以对头文件路径进行配置。 + +image-20250709082233488 + +##### 2.4.3源文件路径配置 + +属性页VC++,选择源目录进行设置。 + +##### 2.4.4库文件路径配置 + +属性页VC++,选择库目录进行设置。 + +#### 2.5宏定义 + +视图-其他窗口-属性管理器,新建项目后,鼠标左键双击新建项目,选择用户宏,添加宏即可。 + +image-20250709083935947 + +#### 2.6运行库配置 + +右键项目名称,打开项目属性页,选择“配置属性”->“C/C++”->“代码生成”->“运行库”。 + +image-20250709084116006 + +#### 2.7调用库配置 + +首先选择头文件和库目录进行配置,将需要调用的头文件的路径添加进来,添加完之后选择链接器-输入-附加依赖项包含lib文件名称即可对动态库进行调用。 + +image-20250709084423970 + +#### 2.8安全检查 + +属性页面找到VC++,选择代码生成,找到安全检查即可进行开启关闭。 + +Visual Studio的安全检查主要用于**检测代码中的潜在漏洞**(如缓冲区溢出、注入攻击),通过静态分析和运行时防护**强制安全编码规范**,预防恶意攻击,确保软件安全。 + +image-20250709084712506 + +### 3.工程调试 + +#### 3.1断点 + +##### 3.1.1断点创建 + +单击代码行最左边的边距。 你还可以选择行并按“F9”,选择“调试”“切换断点”,或者右键单击并选择“断点”“插入断点”。>> 断点显示为左边距中的红点。 + +image-20250709084815273 + +##### 3.1.2断点删除 + +对断点进行鼠标左键单击即可取消断点。 + +image-20250709084906233 + +##### 3.1.3断点禁用 + +若要禁用断点而不删除断点,请将鼠标悬停或右键单击它,然后选择 **禁用断点**。 禁用的断点在左边距或“断点”窗口中显示为空心圆点。 + +image-20250709084932936 + +##### 3.1.4断点启用 + +右键禁用断点,选择启用断电即可。 + +image-20250709084958219 + +##### 3.1.5条件断点 + +右键断点,选择条件,添加条件即可使用条件断点。 + +image-20250709085027828 + +#### 3.2窗口 + +##### 3.2.1监视窗口 + +选择“调试”>“窗口”>“监视”>“监视 1”,或按 Ctrl+Alt+W>1 打开“监视”窗口 。(只能在调试功能下运行) + +image-20250709085216327 + +##### 3.2.2内存窗口 + +在“**调试**>**窗口**>**内存**下,选择”**内存 1**“、”**内存 2**“、”**内存 3**“或”**内存 4**”。 + +image-20250709085409071 + +##### 3.2.3线程窗口 + +在“**调试**>**窗口**>**线程**下。 + +image-20250709085443868 + +##### 3.2.4调用堆栈窗口 + +在“**调试**>**窗口**>**调用堆栈**下。 + +image-20250709085527148 + +#### 3.3单步调试 + +##### 3.3.1全速运行 + +F5快捷键,或选择上方的三角形按钮进行全速运行。 + +image-20250709090027237 + +##### 3.3.2重新运行 + +上方菜单栏找到重新启动按钮即可。 + +image-20250709090037410 + +##### 3.3.3逐过程 + +快捷键F11,可选择上方菜单栏的逐过程调试。 + +image-20250709090040709 + +##### 3.3.4逐语句 + +快捷键F11,可选择上方菜单栏的逐语句调试。 + +image-20250709090044198 \ No newline at end of file