diff --git a/Chrome_JavaScript/README.md b/Chrome_JavaScript/README.md
index 59fdaff3a7e1ac59e038e7669ac9fba0e02ebc4d..6e8bf75382f35055abd958bbc19df79cc2be62cf 100644
--- a/Chrome_JavaScript/README.md
+++ b/Chrome_JavaScript/README.md
@@ -10,7 +10,7 @@
### 如何使用,运行环境
-- 打开相应的文件夹,双击 index.html
+- 把 Chrome_JavaScript 下载到电脑上,打开相应的文件夹,双击 index.html
- 在 Windows 11 浏览器测试运行,建议使用支持 Blink 内核的浏览器打开
diff --git a/README.md b/README.md
index 6544d86053a4957b7f78c099ce0c086342f7d900..5fe7c4ecd829210c2cd43370890c31ddf17201f6 100644
--- a/README.md
+++ b/README.md
@@ -4,6 +4,7 @@
- [ ] Chrome_JavaScript - 学习笔记,小项目
- [x] PlatfromIO_esp32 - 示波器,学会助手适配
+- [ ] Win11_vscode_c++ - windows11 系统 vscode 编译器 c/c++ 运行环境搭建
- [ ] Small_boat_pid - 小船 pid 控制
### 如何使用,运行环境
diff --git a/Win11_vscode_c++/.vscode/launch.json b/Win11_vscode_c++/.vscode/launch.json
new file mode 100644
index 0000000000000000000000000000000000000000..35171e9831f12502bb12985b5dab3ba60381ebd8
--- /dev/null
+++ b/Win11_vscode_c++/.vscode/launch.json
@@ -0,0 +1,36 @@
+// // 使用 IntelliSense 了解相关属性。
+// // 悬停以查看现有属性的描述。
+// // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
+{
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "name": "(gdb) 启动",
+ "type": "cppdbg",
+ "request": "launch",
+ // 标签 // 执行程序所在的位置,当前文件夹下的 app.exe,
+ "program": "${fileDirname}/app.exe",
+ "args": [],
+ "stopAtEntry": false,
+ "cwd": "${fileDirname}",
+ "environment": [],
+ // 是否开启外部终端显示
+ "externalConsole": false,
+ "MIMode": "gdb",
+ // 程序调试工具 gdb 的路径
+ "miDebuggerPath": "C:/TDM-GCC-64/bin/gdb.exe",
+ "setupCommands": [
+ {
+ "description": "为 gdb 启用整齐打印",
+ "text": "-enable-pretty-printing",
+ "ignoreFailures": true
+ },
+ {
+ "description": "将反汇编风格设置为 Intel",
+ "text": "-gdb-set disassembly-flavor intel",
+ "ignoreFailures": true
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/Win11_vscode_c++/.vscode/settings.json b/Win11_vscode_c++/.vscode/settings.json
new file mode 100644
index 0000000000000000000000000000000000000000..5af06e3b8e94bb82e0e5520c45766f193b1f6e69
--- /dev/null
+++ b/Win11_vscode_c++/.vscode/settings.json
@@ -0,0 +1,5 @@
+{
+ "files.associations": {
+ "add.h": "c"
+ }
+}
\ No newline at end of file
diff --git a/Win11_vscode_c++/.vscode/tasks.json b/Win11_vscode_c++/.vscode/tasks.json
new file mode 100644
index 0000000000000000000000000000000000000000..25bd9f805706ef7cc1b99371b2d1c85397660f37
--- /dev/null
+++ b/Win11_vscode_c++/.vscode/tasks.json
@@ -0,0 +1,32 @@
+{
+ "version": "2.0.0",
+ "tasks": [
+ {
+ "type": "cppbuild",
+ "label": "C/C++: gcc.exe 生成活动文件",
+ // MinGW or TDM-GCC 编译工具 gcc.exe 路径
+ "command": "C:/TDM-GCC-64/bin/gcc.exe",
+ "args": [
+ "-fdiagnostics-color=always",
+ "-g",
+ // 添加当前文件夹下 .c 文件,相对于 main.c 文件所在在的文件夹
+ "${fileDirname}/*.c", // main.c and max.c 所在的文件夹
+ // 添加当前文件夹下 .h 文件,相对于...
+ "-I${fileDirname}", // max.h 所在的文件夹
+ "-o",
+ // 在 "-o" 后面指定输出文件路径
+ // 当前文件夹下生成执行文件 app.exe,标签
+ "${fileDirname}/app.exe"
+ ],
+ "options": {
+ "cwd": "${workspaceFolder}"
+ },
+ "problemMatcher": ["$gcc"],
+ "group": {
+ "kind": "build",
+ "isDefault": true
+ },
+ "detail": "调试器生成的任务。"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/Win11_vscode_c++/README.md b/Win11_vscode_c++/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..7dc0dc1d5c9d33aefbc7467e47448f3ab6cc4315
--- /dev/null
+++ b/Win11_vscode_c++/README.md
@@ -0,0 +1,408 @@
+# Windows 11 系统环境 VS Code 编译器中配置 C/C++ 编译和调试环境
+
+## 工程的目录结构和作用
+
+```cpp
+ c/c++
+ ├── .vscode
+ │ ├── tasks.json // build
+ │ └── launch.json // debug
+ ├── test_one
+ │ ├── app.exe // ${fileDirname}/app.exe
+ │ ├── max.h // -I${fileDirname}
+ │ ├── max.c // ${fileDirname}/*.c
+ │ └── main.c // ${fileDirname}/*.c
+ ├── test_two
+ │ │── Debug
+ │ │ └── app.exe // ${fileDirname}/../Debug/app.exe
+ │ ├── Header
+ │ │ ├── max.c // "${fileDirname}/../Header/*.c"
+ │ │ └── max.h // -I${fileDirname}/../Header
+ │ └── Source
+ │ └── main.c // ${fileDirname}/*.c
+ └── README.md
+```
+
+### 路径表示规则
+
+ 1. 路径分隔符:
+ - 正斜杠 `/` 和 反斜杠 `\\` 的区别:
+
+ - 在 Windows 系统中,路径分隔符可以使用正斜杠 `/` 或反斜杠 `\\`。
+
+ - 正斜杠 `/` 更具跨平台兼容性,推荐在配置文件中统一使用 `/`。
+ - 如果使用反斜杠 `\\`,需要进行双重转义,例如:`"${fileDirname}\\..\\Header\\*.c"`。
+
+ 2. 相对路径符号:
+ - 当前目录 `./`:表示当前目录。通常可以省略 `./`,因为默认就是当前目录。
+
+ - 上一层目录 `../`:表示父目录,用于访问当前目录的上级目录。
+
+
+
+## 配置说明
+
+### `.vscode` 文件夹
+
+- **tasks.json**:配置构建任务(build tasks),用于编译文件和环境设置。
+- **launch.json**:配置调试任务(debug tasks),用于启动和调试程序。
+
+
+
+### test_one 工程目录结构配置
+
+#### `tasks.json`示例配置
+
+```json
+{
+ "version": "2.0.0",
+ "tasks": [
+ {
+ "type": "cppbuild",
+ "label": "C/C++: gcc.exe 生成活动文件",
+ // MinGW or TDM-GCC 编译工具 gcc.exe 路径
+ "command": "C:/TDM-GCC-64/bin/gcc.exe",
+ "args": [
+ "-fdiagnostics-color=always",
+ "-g",
+ // 添加当前文件夹下 .c 文件,相对于 main.c 文件所在在的文件夹
+ "${fileDirname}/*.c", // main.c and max.c 所在的文件夹
+ // 添加当前文件夹下 .h 文件,相对于...
+ "-I${fileDirname}", // max.h 所在的文件夹
+ "-o",
+ // 在 "-o" 后面指定输出文件路径
+ // 当前文件夹下生成执行文件 app.exe,标签
+ "${fileDirname}/app.exe"
+ ],
+ "options": {
+ "cwd": "${workspaceFolder}"
+ },
+ "problemMatcher": ["$gcc"],
+ "group": {
+ "kind": "build",
+ "isDefault": true
+ },
+ "detail": "调试器生成的任务。"
+ }
+ ]
+}
+```
+
+#### tasks.json 配置说明
+
+| 配置项 | 说明 |
+|----------------------|-------------------------------------------------------------------|
+| `${fileDirname}` | 当前文件所在的目录路径。 |
+| `${file}` | 当前文件的路径和名称。 |
+| `type` | 指定任务的类型,这里是 `cppbuild`,表示这是一个 C/C++ 构建任务。 |
+| `label` | 任务的名称,用于在 VS Code 的任务列表中显示。 |
+| `command` | 执行的命令,例如 GCC 编译器路径 (`C:\\TDM-GCC-64\\bin\\gcc.exe`)。 |
+| `args` | 传递给命令的参数: |
+| `-fdiagnostics-color=always` | 启用彩色诊断输出,识别错误部分并使用高亮的颜色标志。 |
+| `-g` | 包含调试信息。 |
+| `"*.c"` | 编译当前文件夹中的所有 `.c` 文件。 |
+| `-o ${fileDirname}\\app.exe` | 指定输出文件为 `app.exe`。 |
+| `options.cwd` | 设置工作目录为当前文件所在的目录。 |
+| `problemMatcher` | 用于识别编译错误和警告的模式匹配器,这里使用 `$gcc` 来匹配 GCC 编译器的输出。 |
+| `group.kind` | 将任务分组为构建任务,并设置为默认构建任务。 |
+| `detail` | 提供额外的描述信息。 |
+
+
+
+### `launch.json` 配置说明
+
+#### 示例配置
+
+```json
+{
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "name": "(gdb) 启动",
+ "type": "cppdbg",
+ "request": "launch",
+ // 标签 // 执行程序所在的位置,当前文件夹下的 app.exe,
+ "program": "${fileDirname}/app.exe",
+ "args": [],
+ "stopAtEntry": false,
+ "cwd": "${fileDirname}",
+ "environment": [],
+ // 是否开启外部终端显示
+ "externalConsole": false,
+ "MIMode": "gdb",
+ // 程序调试工具 gdb 的路径
+ "miDebuggerPath": "C:/TDM-GCC-64/bin/gdb.exe",
+ "setupCommands": [
+ {
+ "description": "为 gdb 启用整齐打印",
+ "text": "-enable-pretty-printing",
+ "ignoreFailures": true
+ },
+ {
+ "description": "将反汇编风格设置为 Intel",
+ "text": "-gdb-set disassembly-flavor intel",
+ "ignoreFailures": true
+ }
+ ]
+ }
+ ]
+}
+```
+
+#### launch.json 配置说明
+
+| 配置项 | 说明 |
+|----------------------|----------------------------------------------------------|
+| `version` | 配置文件的版本号。 |
+| `configurations` | 调试配置列表。 |
+| `name` | 调试配置的名称,用于在调试菜单中选择。 |
+| `type` | 调试器类型,这里是 `cppdbg`,表示使用 C++ 调试器。 |
+| `request` | 请求类型,`launch` 表示启动程序进行调试。 |
+| `program` | 要调试的可执行文件路径,例如 `${fileDirname}\\app.exe`。 |
+| `args` | 传递给程序的参数,目前为空。 |
+| `stopAtEntry` | 是否在程序入口点停止,默认为 `false`。 |
+| `cwd` | 工作目录,设置为当前文件所在的目录。 |
+| `environment` | 环境变量设置,目前为空。 |
+| `externalConsole` | 是否使用外部控制台,默认为 `false`。 |
+| `MIMode` | 使用的调试器模式,这里是 GDB。 |
+| `miDebuggerPath` | GDB 调试器的路径 (`C:\\driveDLL\\mingw64\\bin\\gdb.exe`)。|
+| `setupCommands` | 在调试器启动时执行的命令: |
+| `-enable-pretty-printing` | 启用 GDB 的整齐打印功能。 |
+| `-gdb-set disassembly-flavor intel` | 设置反汇编风格为 Intel 格式。 |
+
+
+
+### **vs code 终端输出结果**
+
+#### **test_one** 初级:新手菜鸟,学些语言基础
+
+```powershell
+PS E:\git_maintenance\esp32_oscilloscope\c> & 'c:\Users\Sword\.vscode\extensions\ms-vscode.cpptools-1.22.11-win32-x64\debugAdapters\bin\WindowsDebugLauncher.exe' '--stdin=Microsoft-MIEngine-In-j2nd4xw4.3tq' '--stdout=Microsoft-MIEngine-Out-hw10wc1i.pdv' '--stderr=Microsoft-MIEngine-Error-4aa1ctbm.wau' '--pid=Microsoft-MIEngine-Pid-delbmr5l.elk' '--dbgExe=C:\TDM-GCC-64\bin\gdb.exe' '--interpreter=mi'
+Hello World!
+a: 10 , b: 5 , max: 10
+PS E:\git_maintenance\esp32_oscilloscope\c>
+```
+
+#### **test_two** 高级:visual studio 的目录结构
+
+```powershell
+PS E:\git_maintenance\esp32_oscilloscope\c> & 'c:\Users\Sword\.vscode\extensions\ms-vscode.cpptools-1.22.11-win32-x64\debugAdapters\bin\WindowsDebugLauncher.exe' '--stdin=Microsoft-MIEngine-In-sw33o1zs.hl4' '--stdout=Microsoft-MIEngine-Out-vmaxyfv2.w23' '--stderr=Microsoft-MIEngine-Error-gzsyqnef.0cy' '--pid=Microsoft-MIEngine-Pid-et0i3jby.wkv' '--dbgExe=C:\TDM-GCC-64\bin\gdb.exe' '--interpreter=mi'
+Hello World!
+a: 10 + b: 5 = 15
+PS E:\git_maintenance\esp32_oscilloscope\c>
+```
+
+
+
+### VS Code 如何编译和调试文件
+
+#### 编译文件
+
+1. 打开工程:使用 VS Code 打开工程,打开 test_one 文件夹下的 main.c 文件。
+
+2. 运行构建任务:
+
+ - type: cppbuild,表示这是一个 C/C++ 构建任务。
+
+ - command: 使用 GCC 编译器 (C:\\TDM-GCC-64\\bin\\gcc.exe)。
+ - args:
+ - ${workspaceFolder}\\test_one\\*.c: 编译当前工作区下的所有 .c 文件。
+
+ - -I${workspaceFolder}: 添加头文件搜索路径。
+ - -o ${fileDirname}\\app.exe: 生成当前文件夹下的 app.exe 文件。
+
+#### 调试文件
+
+1. 指定可执行文件:program: ${fileDirname}\\app.exe,指定要调试的可执行文件路径和名称。
+
+2. 控制台选项:externalConsole: false,不使用外部控制台。
+3. 调试器路径:miDebuggerPath: 指定 GDB 调试器路径 (C:\\TDM-GCC-64\\bin\\gdb.exe)。
+
+#### 如何适配 c++ ?
+
+1. 在`tasks.json`文件中找到`command:`修改路径编译工具为`../g++.exe`
+
+2. 工程添加源文件是注意类型:
+ - 修改前`${fileDirname}/*.c`后缀为`*.c`换成下面例子:
+
+ - 修改后`${fileDirname}/*.cpp`后缀为`*.cpp`
+
+```json
+ // ...
+ // MinGW or TDM-GCC 编译工具 gcc.exe 路径
+ // "command": "C:/TDM-GCC-64/bin/gcc.exe",
+ "command": "C:/TDM-GCC-64/bin/g++.exe",
+ "args": [
+ // ...
+ "-g",
+ // 添加当前文件夹下 .c 文件,相对于 main.c 文件所在在的文件夹
+ // "${fileDirname}/*.c", // main.c and max.c 所在的文件夹
+ "${fileDirname}/*.cpp",
+ // ...
+ ],
+ // ...
+```
+
+
+
+### 报错后如何查询
+
+#### 当遇到报错时,可以参考以下步骤
+
+1. 查看终端输出,找到具体的错误信息。
+
+2. 检查配置文件:确保 tasks.json 和 launch.json 文件中的路径和参数正确无误。
+3. 检查依赖项:确保所有依赖项已正确安装,并且路径已添加到系统的环境变量中。
+
+#### 确保 MinGW 或 TDM-GCC 的安装路径已正确添加到系统的环境变量中
+
+- 在 Windows 11 桌面 (Win + R) 弹出运行窗口,输入 cmd 弹出命令行窗口,输入 where gcc 或 where g++ 回车,查找到 MinGW 的路径,是否被误删除或者路径被修改
+
+```powershell
+Microsoft Windows [版本 10.0.22631.4602]
+
+(c) Microsoft Corporation。保留所有权利。
+
+C:\Users\Sword>where gcc
+C:\driveDLL\mingw64\bin\gcc.exe
+C:\TDM-GCC-64\bin\gcc.exe
+
+C:\Users\Sword>
+```
+
+#### 测试 GCC 和 G++ 编译器是否正常工作
+
+- 输入命令 `gcc --version` 判断是否正常工作,下面正常反馈:
+
+```powershell
+Microsoft Windows [版本 10.0.22631.4602]
+(c) Microsoft Corporation。保留所有权利。
+
+C:\Users\Sword>gcc --version
+gcc (x86_64-win32-seh-rev0, Built by MinGW-Builds project) 14.2.0
+Copyright (C) 2024 Free Software Foundation, Inc.
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+C:\Users\Sword>
+```
+
+
+
+### ***test_two*** 工程目录结构配置
+
+#### `tasks.json` 示例配置
+
+```json
+{
+ "tasks": [
+ {
+ "type": "cppbuild",
+ "label": "C/C++: gcc.exe 生成活动文件",
+ // MinGW or TDM-GCC 编译工具 gcc.exe 路径
+ "command": "C:/TDM-GCC-64/bin/gcc.exe",
+ "args": [
+ "-fdiagnostics-color=always",
+ "-g",
+ // 添加当前文件夹下 .c 文件,相对于 main.c 文件所在在的文件夹
+ "${fileDirname}/*.c", // main.c 文件所在文件夹
+ "${fileDirname}/../Header/*.c", // add.c 文件所在文件夹
+ // 添加当前文件夹下 .h 文件,相对于...
+ "-I${fileDirname}/../Header", // add.h 文件所在文件夹
+ "-o",
+ // 当前文件夹下生成执行文件 app.exe,标签
+ "${fileDirname}/../Debug/app.exe"// app.exe 文件所在文件夹
+ ],
+ "options": {
+ "cwd": "${fileDirname}"
+ },
+ "problemMatcher": [
+ "$gcc"
+ ],
+ "group": {
+ "kind": "build",
+ "isDefault": true
+ },
+ "detail": "调试器生成的任务。"
+ }
+ ],
+ "version": "2.0.0"
+}
+```
+
+#### `launch.json` 示例配置
+
+```json
+{
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "name": "(gdb) 启动",
+ "type": "cppdbg",
+ "request": "launch",
+ // 标签 // 执行程序所在的位置,当前文件夹下的 app.exe,
+ "program": "${fileDirname}/../Debug/app.exe", // 执行文件 app.exe 所在位置
+ "args": [],
+ "stopAtEntry": false,
+ "cwd": "${fileDirname}",
+ "environment": [],
+ // 使用外部控制台
+ "externalConsole": false,
+ "MIMode": "gdb",
+ // MinGW or TDM-GCC 调试工具 gdb.exe 路径
+ "miDebuggerPath": "C:/TDM-GCC-64/bin/gdb.exe",
+ "setupCommands": [
+ {
+ "description": "为 gdb 启用整齐打印",
+ "text": "-enable-pretty-printing",
+ "ignoreFailures": true
+ },
+ {
+ "description": "将反汇编风格设置为 Intel",
+ "text": "-gdb-set disassembly-flavor intel",
+ "ignoreFailures": true
+ }
+ ]
+ }
+ ]
+}
+```
+
+## 扩展配置部分
+
+### 独立运行的 C/C++ 开发环境
+
+- 通过上述配置,VS Code 中的 C/C++ 运行环境可以独立于具体的项目文件夹运行。使用相对路径配置 tasks.json 和 launch.json 文件,确保编译和调试任务可以在不同子工程之间切换而不冲突。
+
+### 多个子工程支持
+
+- 在同一个工程文件夹下,可以建立多个小工程(如 test_zero、test_one、test_two 等)。每个子工程都可以有自己的编译和调试配置,互不干扰。这使得开发者可以在不同的子工程中进行开发和调试,提高开发效率。
+
+```cpp
+ c/c++
+ ├── .vscode
+ │ ├── tasks.json // build
+ │ └── launch.json // debug
+ ├── test_zero
+ │ ├── app.exe // ${fileDirname}/app.exe
+ │ ├── max.h // -I${fileDirname}
+ │ ├── max.c // ${fileDirname}/*.c
+ │ └── main.c // ${fileDirname}/*.c
+ ├── test_one
+ │ ├── app.exe // ${fileDirname}/app.exe
+ │ ├── max.h // -I${fileDirname}
+ │ ├── max.c // ${fileDirname}/*.c
+ │ └── main.c // ${fileDirname}/*.c
+ ├── test_two
+ ├── test ...
+ └── README.md
+```
+
+#### 其他说明
+
+- MinGW 是一个基础的、轻量级的 GCC 工具链,适合简单的 C/C++ 开发需求。
+
+- TDM-GCC 是基于 MinGW 的增强版,提供了更多的工具、更好的性能优化和更友好的用户体验,适合需要更多功能和更好支持的开发场景。
+
+> 注意:请确保你已经安装了 MinGW 或 TDM-GCC,并且将它们的路径添加到系统的环境变量中。\
+> 推荐使用`TDM-GCC`作为编译调试工具:`https://jmeubank.github.io/tdm-gcc/`
diff --git a/Win11_vscode_c++/test_one/app.exe b/Win11_vscode_c++/test_one/app.exe
new file mode 100644
index 0000000000000000000000000000000000000000..e544c1bffcfaf367ce8f112433a8930f8bcb2ce8
Binary files /dev/null and b/Win11_vscode_c++/test_one/app.exe differ
diff --git a/Win11_vscode_c++/test_one/main.c b/Win11_vscode_c++/test_one/main.c
new file mode 100644
index 0000000000000000000000000000000000000000..0c10f12f2030ee1d545884f9354698dfbf007879
--- /dev/null
+++ b/Win11_vscode_c++/test_one/main.c
@@ -0,0 +1,14 @@
+#include
+#include "max.h" // 引用自己的头文件
+
+int main()
+{
+ printf("Hello World!\n");
+
+ int a = 10;
+ int b = 5;
+ int c = Max(a, b);
+ printf("a: %d , b: %d , max: %d\n", a, b, c);
+
+ return 0;
+}
diff --git a/Win11_vscode_c++/test_one/max.c b/Win11_vscode_c++/test_one/max.c
new file mode 100644
index 0000000000000000000000000000000000000000..28bcd13dc3eb8c1dae4fc2e401d6360dd5c6c01c
--- /dev/null
+++ b/Win11_vscode_c++/test_one/max.c
@@ -0,0 +1,6 @@
+#include "max.h"
+
+int Max(int a, int b)
+{
+ return a > b ? a : b;
+}
diff --git a/Win11_vscode_c++/test_one/max.h b/Win11_vscode_c++/test_one/max.h
new file mode 100644
index 0000000000000000000000000000000000000000..03587838c304a1d3318e827ca5d067b0d7475e54
--- /dev/null
+++ b/Win11_vscode_c++/test_one/max.h
@@ -0,0 +1,6 @@
+#ifndef MAX_H
+#define MAX_H
+
+int Max(int a, int b);
+
+#endif
diff --git a/Win11_vscode_c++/test_two/Debug/app.exe b/Win11_vscode_c++/test_two/Debug/app.exe
new file mode 100644
index 0000000000000000000000000000000000000000..42e06822ffbd72584f1c3b23dab586f5e5f32b75
Binary files /dev/null and b/Win11_vscode_c++/test_two/Debug/app.exe differ
diff --git a/Win11_vscode_c++/test_two/Header/add.c b/Win11_vscode_c++/test_two/Header/add.c
new file mode 100644
index 0000000000000000000000000000000000000000..b10548fe255cffd0f52a0bc37a8b54400c0096db
--- /dev/null
+++ b/Win11_vscode_c++/test_two/Header/add.c
@@ -0,0 +1,6 @@
+#include "add.h"
+
+int Add(int a, int b)
+{
+ return (a + b);
+}
diff --git a/Win11_vscode_c++/test_two/Header/add.h b/Win11_vscode_c++/test_two/Header/add.h
new file mode 100644
index 0000000000000000000000000000000000000000..df2490696f593d5656a6daf38030c98b010d0c86
--- /dev/null
+++ b/Win11_vscode_c++/test_two/Header/add.h
@@ -0,0 +1,6 @@
+#ifndef ADD_H
+#define ADD_H
+
+int Add(int a, int b);
+
+#endif
diff --git a/Win11_vscode_c++/test_two/Source/main.c b/Win11_vscode_c++/test_two/Source/main.c
new file mode 100644
index 0000000000000000000000000000000000000000..debb5e190944540c317142f3d338945c4adbc62d
--- /dev/null
+++ b/Win11_vscode_c++/test_two/Source/main.c
@@ -0,0 +1,15 @@
+#include
+#include "add.h"
+
+int main()
+{
+ printf("Hello World!\n");
+
+ int a = 10;
+ int b = 5;
+ int c = Add(a, b);
+
+ printf("a: %d + b: %d = %d", a, b, c);
+
+ return 0;
+}
\ No newline at end of file
diff --git a/Win11_vscode_c++/test_zero/app.exe b/Win11_vscode_c++/test_zero/app.exe
new file mode 100644
index 0000000000000000000000000000000000000000..f003febfbacce9905ff0437898dd9b6e16c97cd3
Binary files /dev/null and b/Win11_vscode_c++/test_zero/app.exe differ
diff --git a/Win11_vscode_c++/test_zero/main.c b/Win11_vscode_c++/test_zero/main.c
new file mode 100644
index 0000000000000000000000000000000000000000..97e6e3e1967a307b532084dac71f02201e274dbc
--- /dev/null
+++ b/Win11_vscode_c++/test_zero/main.c
@@ -0,0 +1,14 @@
+#include
+#include "max.h" // 引用自己的头文件
+
+int main()
+{
+ printf("Hello World!\n");
+
+ int a = 22;
+ int b = 33;
+ int c = Max(a, b);
+ printf("a: %d , b: %d , max: %d\n", a, b, c);
+
+ return 0;
+}
diff --git a/Win11_vscode_c++/test_zero/max.c b/Win11_vscode_c++/test_zero/max.c
new file mode 100644
index 0000000000000000000000000000000000000000..28bcd13dc3eb8c1dae4fc2e401d6360dd5c6c01c
--- /dev/null
+++ b/Win11_vscode_c++/test_zero/max.c
@@ -0,0 +1,6 @@
+#include "max.h"
+
+int Max(int a, int b)
+{
+ return a > b ? a : b;
+}
diff --git a/Win11_vscode_c++/test_zero/max.h b/Win11_vscode_c++/test_zero/max.h
new file mode 100644
index 0000000000000000000000000000000000000000..03587838c304a1d3318e827ca5d067b0d7475e54
--- /dev/null
+++ b/Win11_vscode_c++/test_zero/max.h
@@ -0,0 +1,6 @@
+#ifndef MAX_H
+#define MAX_H
+
+int Max(int a, int b);
+
+#endif