From d2e6e56794e38c83e65639c818473469fa8901b5 Mon Sep 17 00:00:00 2001 From: klein1412 <1148878282@qq.com> Date: Wed, 8 Jan 2025 14:57:35 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20test=5Fc?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../test_c/.vscode/launch.json | 33 ++ .../test_c}/.vscode/settings.json | 0 .../test_c/.vscode/tasks.json | 42 ++ Windows11_VScode_C++/test_c/main.md | 398 ++++++++++++++++++ Windows11_VScode_C++/test_c/temporary.md | 168 ++++++++ Windows11_VScode_C++/test_c/test_one/add.c | 6 + Windows11_VScode_C++/test_c/test_one/add.h | 8 + Windows11_VScode_C++/test_c/test_one/main.c | 17 + Windows11_VScode_C++/test_c/test_one/main.exe | Bin 0 -> 57704 bytes .../test_d}/.vscode/launch.json | 0 .../test_d/.vscode/settings.json | 5 + .../test_d}/.vscode/tasks.json | 0 .../test_d}/README.md | 0 .../test_d}/test_one/app.exe | Bin .../test_d}/test_one/main.c | 0 .../test_d}/test_one/max.c | 0 .../test_d}/test_one/max.h | 0 .../test_d}/test_two/Debug/app.exe | Bin .../test_d}/test_two/Header/add.c | 0 .../test_d}/test_two/Header/add.h | 0 .../test_d}/test_two/Source/main.c | 0 .../test_d}/test_zero/app.exe | Bin .../test_d}/test_zero/main.c | 0 .../test_d}/test_zero/max.c | 0 .../test_d}/test_zero/max.h | 0 25 files changed, 677 insertions(+) create mode 100644 Windows11_VScode_C++/test_c/.vscode/launch.json rename {Win11_vscode_c++ => Windows11_VScode_C++/test_c}/.vscode/settings.json (100%) create mode 100644 Windows11_VScode_C++/test_c/.vscode/tasks.json create mode 100644 Windows11_VScode_C++/test_c/main.md create mode 100644 Windows11_VScode_C++/test_c/temporary.md create mode 100644 Windows11_VScode_C++/test_c/test_one/add.c create mode 100644 Windows11_VScode_C++/test_c/test_one/add.h create mode 100644 Windows11_VScode_C++/test_c/test_one/main.c create mode 100644 Windows11_VScode_C++/test_c/test_one/main.exe rename {Win11_vscode_c++ => Windows11_VScode_C++/test_d}/.vscode/launch.json (100%) create mode 100644 Windows11_VScode_C++/test_d/.vscode/settings.json rename {Win11_vscode_c++ => Windows11_VScode_C++/test_d}/.vscode/tasks.json (100%) rename {Win11_vscode_c++ => Windows11_VScode_C++/test_d}/README.md (100%) rename {Win11_vscode_c++ => Windows11_VScode_C++/test_d}/test_one/app.exe (100%) rename {Win11_vscode_c++ => Windows11_VScode_C++/test_d}/test_one/main.c (100%) rename {Win11_vscode_c++ => Windows11_VScode_C++/test_d}/test_one/max.c (100%) rename {Win11_vscode_c++ => Windows11_VScode_C++/test_d}/test_one/max.h (100%) rename {Win11_vscode_c++ => Windows11_VScode_C++/test_d}/test_two/Debug/app.exe (100%) rename {Win11_vscode_c++ => Windows11_VScode_C++/test_d}/test_two/Header/add.c (100%) rename {Win11_vscode_c++ => Windows11_VScode_C++/test_d}/test_two/Header/add.h (100%) rename {Win11_vscode_c++ => Windows11_VScode_C++/test_d}/test_two/Source/main.c (100%) rename {Win11_vscode_c++ => Windows11_VScode_C++/test_d}/test_zero/app.exe (100%) rename {Win11_vscode_c++ => Windows11_VScode_C++/test_d}/test_zero/main.c (100%) rename {Win11_vscode_c++ => Windows11_VScode_C++/test_d}/test_zero/max.c (100%) rename {Win11_vscode_c++ => Windows11_VScode_C++/test_d}/test_zero/max.h (100%) diff --git a/Windows11_VScode_C++/test_c/.vscode/launch.json b/Windows11_VScode_C++/test_c/.vscode/launch.json new file mode 100644 index 00000000..7cb7af19 --- /dev/null +++ b/Windows11_VScode_C++/test_c/.vscode/launch.json @@ -0,0 +1,33 @@ +{ + // 使用 IntelliSense 了解相关属性。 + // 悬停以查看现有属性的描述。 + // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "(gdb) 启动", + "type": "cppdbg", + "request": "launch", + "program": "${fileDirname}\\${fileBasenameNoExtension}.exe", + "args": [], + "stopAtEntry": false, + "cwd": "${fileDirname}", + "environment": [], + "externalConsole": false, + "MIMode": "gdb", + "miDebuggerPath": "C:\\driveDLL\\mingw64\\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/Windows11_VScode_C++/test_c/.vscode/settings.json similarity index 100% rename from Win11_vscode_c++/.vscode/settings.json rename to Windows11_VScode_C++/test_c/.vscode/settings.json diff --git a/Windows11_VScode_C++/test_c/.vscode/tasks.json b/Windows11_VScode_C++/test_c/.vscode/tasks.json new file mode 100644 index 00000000..01a1b856 --- /dev/null +++ b/Windows11_VScode_C++/test_c/.vscode/tasks.json @@ -0,0 +1,42 @@ +{ + "tasks": [ + { + "type": "cppbuild", + "label": "C/C++: gcc.exe 生成活动文件", + + // MinGW 的 gcc 编译器路径,.c 文件类型 + "command": "C:\\driveDLL\\mingw64\\bin\\gcc.exe", + // MinGW 的 g++ 编译器路径,.cpp 文件类型 + //"command": "C:\\driveDLL\\mingw64\\bin\\g++.exe", + + "args": [ + "-fdiagnostics-color=always", + + "-g", + // 添加工作区下 test_one 文件夹下所有 .c 源文件 + "${workspaceFolder}/test_one/*.c", + // 添加工作区下 test_one 文件夹下所有 .cpp 源文件 + // "${workspaceFolder}/test_one/*.cpp", + + "-I", + // 添加工作区下 test_one 文件夹下所以 .h 头文件 + "${workspaceFolder}/test_one", + + "-o", + "${fileDirname}\\${fileBasenameNoExtension}.exe" + ], + "options": { + "cwd": "${fileDirname}" + }, + "problemMatcher": [ + "$gcc" + ], + "group": { + "kind": "build", + "isDefault": true + }, + "detail": "调试器生成的任务。" + } + ], + "version": "2.0.0" +} \ No newline at end of file diff --git a/Windows11_VScode_C++/test_c/main.md b/Windows11_VScode_C++/test_c/main.md new file mode 100644 index 00000000..117aec3f --- /dev/null +++ b/Windows11_VScode_C++/test_c/main.md @@ -0,0 +1,398 @@ +# + +## 开始播放 + +大家好,我是UP主 klein !很多小伙伴在搭建VS Code的C/C++开发环境时遇到了问题。 +今天,我将手把手教你们如何一步步完成这个过程。废话不多说,让我们开始吧! + +### 步骤一:安装 MinGW + +- 下载并安装 MinGW 或 TDM-GCC。 +- 将 MinGW 的路径添加到系统的环境变量中,以便在命令行中直接调用这些工具。 + +### 步骤二:安装 VS Code + +- 从 VS Code 官网 下载并安装。 +- 打开 VS Code,你会看到一个简洁的界面。 + +### 步骤三:安装 C/C++ 插件 + +- 在 VS Code 中,点击左侧活动栏中的扩展图标(四个方块),然后搜索“C/C++”,找到由 Microsoft 提供的插件并安装。 + +### 步骤四:创建工作区 + +- 创建一个新的文件夹作为工作区,例如 test_c。 +- 在工作区文件夹中新建一个名为 main.c 的文件,并写入以下测试代码 + +### 步骤五:配置 `.vscode` 文件夹 + +- 在 VS Code 中打开 `main.c` 文件,然后点击菜单栏中的“运行 > 以非调试模式运行”或使用快捷键 `Ctrl + F5`。 +- 系统会弹出一个提示框让你选择配置,选择 `c/c++: gcc.exe 生成和调试活动文件...`。VS Code 会自动生成 `.vscode` 文件夹及其中的 `tasks.json` 和 `launch.json` 文件。 + +### 步骤六:编译和运行代码 + +- 点击“运行 C/C++ 文件”按钮(或使用快捷键 Ctrl + F5),VS Code 将根据 tasks.json 配置编译并运行代码,最终在终端中显示运行结果。 + +### 视频最后 + +如果你觉得这个教程对你有帮助,别忘了来个一键三连,支持一下 UP 主哦!不得不说,视频教程很值得一看,短时间内就能掌握使用 VS Code 搭建 C/C++ 开发环境的方法,非常实用。 + +--- + +## 黑箱 + +### 黑箱操作的困扰 + +虽然代码可以正常运行,但很多步骤像是“黑箱”操作,导致你无法完全理解整个编译和调试流程。这不仅可能使你的代码运行结果与预期不符,也让你难以个性化修改代码组织。 + +### 熟悉的问题,新的挑战 + +相信你对以下场景并不陌生: + +- **莫名其妙的报错**:昨天还能正常运行的程序,今天却突然报错了。 +- **重新配置无效**:新建一个工程后,按照往常的配置步骤进行,却依然出现各种问题。 +- **长时间未使用的项目**:几个月没动过的工程,今天打开运行,却发现各种报错,令人头疼。 + +### 小伙伴的疑问 + +到这里很多小伙伴活跃起来... + +- **小伙伴**:不就是 VS Code 搭建 C/C++ 开发环境嘛,我重新在电脑上跟着教程再走一遍问题不就解决了吗? + - **UP主**:确实,对于刚开始学习的小伙伴来说,重新配置是个不错的选择。不过,如果你写过毕设或者搞过毕业设计,三四个月写好的程序,重头来过真的挺煎熬的。 + +- **小伙伴**:我觉得这些报错信息太难懂了,每次都要在网上搜半天才能找到答案。 + - **UP主**:是啊,报错信息确实有点难懂。其实,关键是学会定位问题,知道问题出在哪一步,接下来问题就简单了 + +### 你以为你以为的就是你以为的吗? + +很多时候,我们觉得只要会用工具就行了,但在实际使用中会遇到不少盲区。比如: + +1. 以为工具很简单 + + - 实际情况:VS Code 和 C/C++ 插件不仅仅是代码编辑器和插件,还涉及到编译、调试等一系列复杂操作。理解这些工具的作用能让你在遇到问题时更有把握。 + +2. 以为配置一次就够了 + + - 实际情况:VS Code 的运行流程背后其实是多个工具协同工作的结果。理解这些流程能让你在遇到问题时更快地找到原因,而不是每次都从头再来。 + +## 让我们使用新的眼光理解这两个方面内容 + +搜索工具信息如下: + +### VS Code 编辑器作用 + +- 智能记事本:VS Code 是一个轻量级但功能强大的代码编辑器,它不仅能高亮代码、自动补全,还能通过插件扩展更多功能。 +- 插件服务:C/C++ 插件提供了自动补全代码、跳转到定义、语法检查和调试支持等功能,大大提升了编程效率。 + +### MinGW 编译器工具链 + +- 编译器(如 gcc 和 g++):把源代码编译成可执行文件。 +- 链接器:把多个文件组合成一个完整的程序。 +- 调试器(如 gdb):帮助你调试程序,找出潜在的问题。 + +### 工具的作用总结 + +- VS Code 和 C/C++ 插件:充当了一个智能记事本,提供辅助功能,但本身并不进行编译和调试工作。 +- MinGW 工具链:负责编译和调试工作,编译部分由 gcc 完成,调试部分由 gdb 完成。 + +> 小贴士:关键字 command 指定了编译器的完整路径,确保 VS Code 能够找到并调用正确的编译工具。如果你使用的是 C 语言代码,应该使用 gcc.exe;如果是 C++ 语言代码,应该使用 g++.exe。 + +--- + +### VS Code 的运行流程 + +#### 简单概括 + +1. **准备工作区文件夹和源文件(.c)测试代码** + - 创建一个名为 `test_c` 的文件夹作为工作区,并在其中创建 `main.c` 文件。 + +2. **在 VS Code 中打开 `main.c` 文件** + - 使用菜单栏中的“运行 > 非调试模式运行”或快捷键 `Ctrl + F5`。 + +3. **VS Code 调用 `.vscode/tasks.json` 文件,运行编译和运行任务** + - **首次运行时**,VS Code 会提示你选择构建和调试配置,选择 `c/c++: gcc.exe 生成和调试活动文件...`。 + - **自动生成配置文件**:VS Code 会在项目根目录下创建 `.vscode` 文件夹,并在其中生成 `tasks.json` 和 `launch.json` 文件。 + +4. **编译过程** + - 加载代码检查器,提供错误高亮和诊断输出信息。 + - 调用 MinGW 的 `gcc.exe` 编译器工具。 + - 加载头文件 `.h` 和源文件 `.c`。 + - 对多个文件进行编译,生成可执行文件 `main.exe`(名字可以修改)。 + - 加载并执行 `main.exe` 文件,输出结果到终端。 + +5. **VS Code 调用 `.vscode/launch.json` 文件,运行调试器任务** + - 调用 MinGW 的 `gdb.exe` 调试器工具。 + - 加载调试工具,执行 `main.c` 文件。 + - 提供断点设置、变量查看等调试功能。 + +#### 关键流程总结 + +- **VS Code 本身不具备编译和调试能力**,需要调用 `.vscode/tasks.json` 编译代码,调用 `.vscode/launch.json` 调试代码。 +- **编译代码部分**:`.vscode/tasks.json` 调用 MinGW 的 `gcc.exe` 编译工具实现。 +- **调试代码部分**:`.vscode/launch.json` 调用 MinGW 的 `gdb.exe` 调试工具实现。 + +> **小贴士**:关键字 `-g` 表示在这个符号后方添加源文件(.c 文件或 .cpp 文件)的路径;关键字 `-I` 表示在这个符号后方添加头文件(.h 文件)的路径。 + +--- + +## 错误处理 + +到这里相信很多小伙伴都在想:“你讲的都很好,但我的报错依然还在啊?”别急,我们先同步一下信息,然后一起来拿几个报错练练手。 + +在解决问题前先同步信息: + + 1. 工程目录结构(下方) + 2. tasks.json 文件内容 (最下方) + +### 工程目录结构 + +```cpp +e:\test_c\ + ├── .vscode\ + │ ├── tasks.json // 编译任务配置文件 + │ └── launch.json // 调试配置文件(可选) + └── test_one\ + ├── add.h // 头文件(可选) + ├── add.c // 源文件(可选) + └── main.c // 主程序源文件 +``` + + + +### 工程目录说明 + +```cpp +// 顶层 +test_c:工作区文件夹,包含整个项目的文件。 + +// 一级目录 +.vscode:工作区文件夹下的配置文件夹,用于存放编译和调试配置文件。 +test_one:工作区文件夹下的子文件夹,用于存放源代码文件。 + +// 二级目录 +tasks.json:编译任务配置文件。 +launch.json:调试配置文件(可选) + +add.h:位于 test_one 文件夹下的头文件。 +add.c:位于 test_one 文件夹下的源文件。 +main.c:位于 test_one 文件夹下的主程序源文件。 +``` + +### 常见的错误 + +> 弹窗: preLaunchTask"c/c++:gcc.exe 生成活动文件"已终止,退出代码为-1 +> 终端: ϵͳ�Ҳ���ָ����·���� (白色乱码) + +- **原因1**:可能是 MinGW 的 GCC 编译器路径配置错误。 +- **解决方法**:在 `tasks.json` 文件中找到关键字 `command`,修改为系统环境中 MinGW 的 GCC 编译器的路径。 + - 参考示例:如何获取 MinGW 的 gcc.exe 工具路径? + - 参考示例:tasks.json 文件 + +- **原因2**:系统环境变量未正确配置 MinGW 的路径。 +- **解决方法**:确保 MinGW 的路径已添加到系统的环境变量中。 + - 参考示例:如何获取 MinGW 的 gcc.exe 工具路径? + - 参考示例:如何判断 gcc.exe 工具可以工作? + +> 弹窗: preLaunchTask"c/c++:gcc.exe 生成活动文件"已终止,退出代码为-1 +> 终端: undefined reference to `WinMain' + +- **原因1**:工程中同时存在 `.c` 和 `.cpp` 文件类型,导致编译器混淆。 +- **解决方法**:确保使用统一的文件类型: + - 如果是 C 语言,使用 `gcc.exe` 编译 `.c` 文件。 + - 如果是 C++ 语言,使用 `g++.exe` 编译 `.cpp` 文件。 + +- **原因2**:可能是,源文件路径配置错误 +- **解决方法**: 在 tasks.json 文件中找到关键字 `args`,在 `-g` 后添加源文件路径。 + - 参考示例:tasks.json 文件 + +> 弹窗: 运行 preLaunchTask"c/c++:gcc.exe 生成活动文件"后存在错误 +> 终端: fatal error: add.h: No such file or directory (红色) + +- **原因**:头文件路径配置错误。 +- **解决方法**:在 `tasks.json` 文件中找到关键字 `args`,在 `-I` 后添加头文件路径。 + - 参考示例:工程目录结构路径 + - 参考示例:tasks.json 文件 + +> 弹窗: 运行 preLaunchTask"c/c++:gcc.exe 生成活动文件"后存在错误 +> 终端: error: returning 'void *' from a function with return type 'int' makes integer from pointer without a cast [-Wint-conversion] + +- **原因**:可能是 `C` 语言中使用了 `C++` 的关键字 `NULL`。 +- **解决方法**:根据终端提示修改代码,确保返回值类型匹配。 + - 参考示例:main.c 测试代码 + +> 弹窗: ♡⃝ ʜᴇʟʟᴏ📐 。◕‿◕。 +> 终端: 没有显示,哈哈 + +- **原因**:c/c++ 编程问题,学会查看终端出一些有用的错误信息 +- **解决方法**:我就不列举了,接下来是你的学习问题了,请向老师请教 + - 嘻嘻,我不是老师 (^_^) + - 这里报错问题主要给你作为参考,不可能百分百出现一模一样的情况 + - 》》》 小伙伴 > 总监 + - 》》》 UP主 > 新员工 + - 总监:说了多少次了,特别是这个 logo ,我说要“五彩斑斓”的黑色!你就这 ... ,重做 + - 新员工:啥?我混了这么久都没有听过这种颜色?难道 ... + - 参考示例:??? + +### 顺利情况下,在终端中输出信息如下 + +```powershell +PS E:\code\test_c> & 'c:\Users\Sword\.vscode\extensions\ms-vscode.cpptools-1.22.11-win32-x64\debugAdapters\bin\WindowsDebugLauncher.exe' '--stdin=Microsoft-MIEngine-In-cixasrye.ovd' '--stdout=Microsoft-MIEngine-Out-5v1bla0c.oxx' '--stderr=Microsoft-MIEngine-Error-j12yikuv.wqp' '--pid=Microsoft-MIEngine-Pid-034ysmg1.i5b' '--dbgExe=C:\driveDLL\mingw64\bin\gdb.exe' '--interpreter=mi' +add(3,2) = 5 +welcome to c/c++ World! +PS E:\code\test_c> +``` + +> 欢迎回到 `c/c++` 世界 + +### 如何获取 MinGW 的 gcc.exe 工具路径? + +- 按 `Win + R` 打开运行窗口,输入 `cmd` 并回车,打开命令提示符。 +- 输入 `where gcc` 回车,查看返回的路径信息 +- 如果没有显示路径信息,重新安装 MinGW 后,再添加到系统环境变量中 +- 我的电脑安装(或下载)配置 MinGw and TDM-GCC 两个工具链 + +- 正确反馈信息 + +```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> +``` + +- 错误反馈信息 + +```powershell +C:\Users\Sword>where apple +信息: 用提供的模式无法找到文件。 + +C:\Users\Sword> +``` + +### 如何判断 gcc.exe 工具可以工作? + +- 输入 `gcc --version` 回车,查看返回的版本信息。 +- 输出版本信息如下:显示 gcc 路径相关信息 +- 报错或者警告,重新安装 MinGW,再添加到系统环境变量中 + +- 正确反馈信息 + +```powershell +C:\Users\Sword>gcc version +C:/driveDLL/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find version: No such file or directory +collect2.exe: error: ld returned 1 exit status + +C:\Users\Sword> +``` + +- 错误反馈信息 + +```powershell +C:\Users\Sword>apple version +'apple' 不是内部或外部命令,也不是可运行的程序 +或批处理文件。 + +C:\Users\Sword> +``` + +### 参考示例 + +#### main.c 测试代码 + +```cpp +#include + +int main() +{ + printf("welcome to c/c++ World!\n"); + // return NULL; + return 0; +} +``` + +#### tasks.json 文件 + +```json +{ + "tasks": [ + { + "type": "cppbuild", + "label": "C/C++: gcc.exe 生成活动文件", + // MinGW 的 GCC 编译器路径,.c 文件类型 + "command": "C:\\driveDLL\\mingw64\\bin\\gcc.exe", + // MinGW 的 GCC 编译器路径,.cpp 文件类型 + //"command": "C:\\driveDLL\\mingw64\\bin\\g++.exe", + "args": [ + "-fdiagnostics-color=always", + "-g", + // 添加工作区下 test_one 文件夹下所有 .c 源文件 + "${workspaceFolder}/test_one/*.c", + // 添加工作区下 test_one 文件夹下所有 .cpp 源文件 + // "${workspaceFolder}/test_one/*.cpp", + "-I", + // 添加工作区下 test_one 文件夹下所以 .h 头文件 + "${workspaceFolder}/test_one", + + "-o", + "${fileDirname}\\${fileBasenameNoExtension}.exe" + ], + "options": { + "cwd": "${fileDirname}" + }, + "problemMatcher": [ + "$gcc" + ], + "group": { + "kind": "build", + "isDefault": true + }, + "detail": "调试器生成的任务。" + } + ], + "version": "2.0.0" +} +``` + +#### 工程目录结构路径 + +```cpp +e:\test_c\ // "${workspaceFolder}", + ├── .vscode\ // "${workspaceFolder}/.vscode" + │ ├── tasks.json // "${workspaceFolder}/.vscode/tasks.json" + │ └── launch.json // "${workspaceFolder}/.vscode/launch.json" + └── test_one\ // "${workspaceFolder}/test_one" + ├── add.h // "${workspaceFolder}/test_one" + ├── add.c // "${workspaceFolder}/test_one/add.c", + └── main.c // "${workspaceFolder}/test_one/main.c", +``` + +tip: `*.c` 两部分组成:`*` 表示所有,`.c` 表示指定什么结尾的文件 + +--- + +## 补充说明 + +1. **`launch.json` 文件的调试部分**: + - `launch.json` 文件用于配置调试器,确保你可以逐步调试代码。建议小伙伴们参考官方文档 + +2. **高级配置**: + - 想不想把 Visual Studio Code 配置得像 Microsoft Visual Studio 一样强大?高级配置技巧你不期待! + +3. **完整代码和资源**: + - 完整代码放在 Gitee 上,git clone 下来即可: + - Gitee 项目地址: [https://gitee.com/klein1412/esp32_oscilloscope](https://gitee.com/klein1412/esp32_oscilloscope) + +4. **学习资源**: + - 有“能力”的小伙伴可以直接阅读原文中 C++ 主题相关内容,解决大部分疑惑。 + - Visual Studio Code 官方文档也有相关主题介绍,可以参考: + - [Visual Studio Code document](https://code.visualstudio.com/docs) + +--- + +### 欢迎回到 `c/c++` 世界 + +怎么样?看完这些内容后,你的问题解决了吗?希望这篇笔记能帮助你更好地理解 VS Code 的基础操作和运行流程。对我来说,这也是一个知识记忆的备份。每次写专栏时,修改好几次,确保每个步骤都清晰易懂。这次因为使用 VS Code 配置 C/C++ 和 EasyX 开发环境后,发现效果很不错,之前用 Visual Studio 占用了不少存储空间,所以想着改用轻量级的 VS Code 来代替。于是就有了这篇专栏,写了又删,删了又写,确实有点纠结 😅。 diff --git a/Windows11_VScode_C++/test_c/temporary.md b/Windows11_VScode_C++/test_c/temporary.md new file mode 100644 index 00000000..c374e750 --- /dev/null +++ b/Windows11_VScode_C++/test_c/temporary.md @@ -0,0 +1,168 @@ +# 临时文件 + +关键字: command ,指定要执行的命令,通常是编译器路径(如 gcc 或 g++)。 + +1.开发环境配置错误 + 1.退出当前工程,在外面新建一个 my_test 文件夹作为工作区,里面新建一个 main.c 文件 + 示例代码: + ```cpp + #include + int main() + { + printf("welcome c/c++ World!\n"); + return 0; + } + ``` + 2.保存刚刚编码的代码后,点击 > 运行 c/c++ 文件(按钮),或者菜单栏中的:运行 > 以非调试模式运行 + 3.弹出提示框选择配置:选项 > + c 语言选择 > c/c++: gcc.exe 生成和调试活动文件... + c++ 语言选择 > c/c++: g++.exe 生成和调试活动文件... + + 4.如果有选项,点击后自动生成 .vscode 文件夹里面有一个 tasks.json 配置文件 + 在 tasks.json 文件夹中,添加如下代码: + 示例:"command": "C:\\driveDLL\\mingw64\\bin\\gcc.exe", + 5.此时 mian.c 通过的编译输出结果在控制台上,检查输出是否一致 + + 6.如果没有选项相同的、出现其它选项,可能是误删了 MinGW 编译工具,或者对文件夹、文件的的移动, + 导致之前 MinGW 配置 window 系统环境变量路径不对,vs code 找不到出现报错情况 + +/* + +## 可能的错误原因及解决方法 + +### 1. 开发环境配置错误 + +如果你现在遇到问题,可能是以下几个原因导致的: + +1. **重新创建一个干净的工作区**: + +- 退出当前工程,在外面新建一个 `my_test` 文件夹作为新的工作区。 +- 在这个文件夹里新建一个 `main.c` 文件,写入简单的示例代码: + +```cpp +#include + +int main() +{ + printf("Welcome to C/C++ World!\n"); + return 0; +} +``` + +1. **保存代码并尝试运行**: + - 保存刚刚编码的代码后,点击 VS Code 中的“运行 C/C++ 文件”按钮,或者选择菜单栏中的“运行 > 以非调试模式运行”。 + - 如果弹出提示框让你选择配置,选择: + - 对于 C 语言:`c/c++: gcc.exe 生成和调试活动文件...` + - 对于 C++ 语言:`c/c++: g++.exe 生成和调试活动文件...` + +2. **检查自动生成的配置文件**: + - 如果选择了正确的选项,VS Code 会自动生成 `.vscode` 文件夹,并包含 `tasks.json` 配置文件。 + - 确保 `tasks.json` 文件中的编译器路径正确,例如: + +Questions:小伙伴提问 +answer:我回答 + +到这里很多小伙伴坐不住了 。。。 + Questions:你说对使用工具重新理解,难道 UP主 是菜鸟不成需要理解吗? + Answer: 出问题了,不知道是哪个部分,对工具不过了解 + + Questions:c/c++ 插件作用?难道需要理解吗? + Answer: 很有必要,这是我们的学习目标,希望学完之后,能够自己搭建一个 c/c++ 开发环境 + +## 发现现有信息不够,调用"AI助手"补充工具的信息 + +## VS Code:这是一个轻量级但功能强大的代码编辑器 + + 1. 你可以把它想象成一个智能记事本,但它可以做更多事情,比如代码高亮、自动补全等。 + 2. 提供插件服务 + +## C/C++ 插件:这是给 VS Code 安装的一个扩展,专门用来支持 C/C++ 语言。它提供了很多有用的功能,比如 + + 1. 自动补全代码 + 2. 跳转到定义 + 3. 语法检查 + 4. 调试支持 + +## MinGW:这是一个编译器工具链,它能帮你把 C/C++ 代码变成能在电脑上运行的程序。它包括 + + 1. 编译器(如 gcc 和 g++),用来把源代码编译成可执行文件。 + 2. 链接器,用来把多个文件组合成一个完整的程序。 + 3. 调试器(如 gdb),用来帮助你调试程序。 + +你回头看一遍,是否对自己现有的工具作用,有新变化呢? +从现有信息可以了解到, + 1. vs code 编辑器和 c/c++ 插件组合,充当一个智能记事本, 不具体对代码进行编译和调试功能 + 2. vs code 需要依赖 MinGW 工具链来完成编译和调试工作 + 3. MinGW 工具链的编译部分由 gcc 完成,调试部分由 gdb 完成 + +先处理 vs code 配置部分: + +vs code 编译和运行代码流程大致分为: + 1.准备好工作区文件夹和源文件(.c)测试代码 + 2.在 VS code 中打开 main.c 文件,在菜单 > 运行 > 非调试模式运行 (ctrl + F5) > 点击 + 3.vs code 调用 .vscode/tasks.json 文件,运行编译和运行任务 + - 加载代码检查器,错误高亮诊断输出信息 + - 加载 MinGW 的 gcc.exe 编译器工具 + - 加载头文件 .h 文件和源文件 .c 文件(前提编写代码文件) + - 对加载多个文件进行编译,生产执行文件 main.exe (名字可以修改) + - 加载并执行 main.exe 文件输出打印信息在终端 + 5.vs code 调用 .vscode/launch.json 文件,运行调试器任务 + - 加载执行文件 main.exe + - 加载 MinGW 的 gdb.exe 调试器工具 + - 加载调试工具,执行 main.c 文件 + +证明我理解配置流程,找到文档的这段描述:确定我的流程大致没有错误 + +Understanding tasks.json +The first time you run your program, the C++ extension creates a tasks.json file, +which you'll find in your project's .vscode folder. tasks.json stores your build configurations. + +了解 tasks.json +首次运行你的代码后,vs code 会创建一个 tasks.json 文件,该文件位于项目的 .vscode 文件夹中。 + +对 vs code 运行的整个流程 + 1. vs code 对代码编译和调试能力,靠调用 .vscode/tasks.json 编译代码,调用 .vscode/launch.json 调试代码 + 2. .vscode/tasks.json 调用 MinGW 的 gcc.exe 编译工具实现 + 3. .vscode/launch.json 调用 MinGW 的 gdb.exe 调试工具实现 + +重新整理两部分后,对现有工具作用有了更清晰的认识,关键流程是: + + - run > .vscode/tasks.json > MinGW/gcc.exe > load(.c | .h) > create (.exe) > output(test result) + + - 启动时,调用 tasks.json 任务,调用 gcc.exe 编译工具,加载指定头文件和源文件,生成可执行文件,输出测试结果 + +第二步,下方面二选一 + +1.依赖 vs code 编译器生成工作区的工程目录结构 + + 1.建立一个名称为 "test_box" 文件夹作为工作区, + 2.在里面建立一个文件:main.c + - 代码示例在下面继续阅读: + + 1. 在打开 main.c 文件的情况下,在菜单栏找到,下方面二选一 + 1. 运行 > 以非调试模式运行 > 点击 + 2. 在运行和调试图标栏中点击 > 运行 c/c++ 文件 + + 2. 弹出提示框选择配置:选项二选一 + 1. c 语言选择 > c/c++: gcc.exe 生成和调试活动文件... + 2. c++ 语言选择 > c/c++: g++.exe 生成和调试活动文件... + + 3. 自动在 "test_box" 文件夹下生成一个 ".vscode " 文件夹和 "tasks.json" 文件 + + 4. 找到 “终端” 查看是否有输出 + + 5. 没有运行和输出,下方面二选一 + 1. 运行 > 以非调试模式运行 > 点击 + 2. 在运行和调试图标栏中点击 > 运行 c/c++ 文件 + + 6. 找到 “终端” 查看是否有输出 + +好的,高手都离开了,接下来菜鸟互啄时间,经过对官网文档阅读后,太吃力,突然困了💤 + +在 vs code 配置 esayX 图像库时查找资料发现,vs code 官方文档有相关主题介绍,可以参考: + 1. Visual Studio Code document address: + 2. Overview: + - C++ + - USER GUIDE + +有“能力”的小伙伴可以直接阅读原文中 c++ 主题相关内容,解决大部分疑惑。 diff --git a/Windows11_VScode_C++/test_c/test_one/add.c b/Windows11_VScode_C++/test_c/test_one/add.c new file mode 100644 index 00000000..c45f4a0c --- /dev/null +++ b/Windows11_VScode_C++/test_c/test_one/add.c @@ -0,0 +1,6 @@ +#include "add.h" + +int add(int a, int b) +{ + return a + b; +} \ No newline at end of file diff --git a/Windows11_VScode_C++/test_c/test_one/add.h b/Windows11_VScode_C++/test_c/test_one/add.h new file mode 100644 index 00000000..bf5a724b --- /dev/null +++ b/Windows11_VScode_C++/test_c/test_one/add.h @@ -0,0 +1,8 @@ +#ifndef ADD_H +#define ADD_H + +#include + +int add(int a, int b); + +#endif diff --git a/Windows11_VScode_C++/test_c/test_one/main.c b/Windows11_VScode_C++/test_c/test_one/main.c new file mode 100644 index 00000000..cb8bb271 --- /dev/null +++ b/Windows11_VScode_C++/test_c/test_one/main.c @@ -0,0 +1,17 @@ +#if 1 +#include +#include "add.h" + +int main() +{ + int a = 3; + int b = 2; + int c = add(a, b); + + printf("add(%d,%d) = %d\n", a, b, c); + + printf("welcome to c/c++ World!\n"); + + return 0; +} +#endif diff --git a/Windows11_VScode_C++/test_c/test_one/main.exe b/Windows11_VScode_C++/test_c/test_one/main.exe new file mode 100644 index 0000000000000000000000000000000000000000..d642b6321e1a114f498f32d743bc6dcdec907245 GIT binary patch literal 57704 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 JqV)LqzW^DU=8gaW literal 0 HcmV?d00001 diff --git a/Win11_vscode_c++/.vscode/launch.json b/Windows11_VScode_C++/test_d/.vscode/launch.json similarity index 100% rename from Win11_vscode_c++/.vscode/launch.json rename to Windows11_VScode_C++/test_d/.vscode/launch.json diff --git a/Windows11_VScode_C++/test_d/.vscode/settings.json b/Windows11_VScode_C++/test_d/.vscode/settings.json new file mode 100644 index 00000000..5af06e3b --- /dev/null +++ b/Windows11_VScode_C++/test_d/.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/Windows11_VScode_C++/test_d/.vscode/tasks.json similarity index 100% rename from Win11_vscode_c++/.vscode/tasks.json rename to Windows11_VScode_C++/test_d/.vscode/tasks.json diff --git a/Win11_vscode_c++/README.md b/Windows11_VScode_C++/test_d/README.md similarity index 100% rename from Win11_vscode_c++/README.md rename to Windows11_VScode_C++/test_d/README.md diff --git a/Win11_vscode_c++/test_one/app.exe b/Windows11_VScode_C++/test_d/test_one/app.exe similarity index 100% rename from Win11_vscode_c++/test_one/app.exe rename to Windows11_VScode_C++/test_d/test_one/app.exe diff --git a/Win11_vscode_c++/test_one/main.c b/Windows11_VScode_C++/test_d/test_one/main.c similarity index 100% rename from Win11_vscode_c++/test_one/main.c rename to Windows11_VScode_C++/test_d/test_one/main.c diff --git a/Win11_vscode_c++/test_one/max.c b/Windows11_VScode_C++/test_d/test_one/max.c similarity index 100% rename from Win11_vscode_c++/test_one/max.c rename to Windows11_VScode_C++/test_d/test_one/max.c diff --git a/Win11_vscode_c++/test_one/max.h b/Windows11_VScode_C++/test_d/test_one/max.h similarity index 100% rename from Win11_vscode_c++/test_one/max.h rename to Windows11_VScode_C++/test_d/test_one/max.h diff --git a/Win11_vscode_c++/test_two/Debug/app.exe b/Windows11_VScode_C++/test_d/test_two/Debug/app.exe similarity index 100% rename from Win11_vscode_c++/test_two/Debug/app.exe rename to Windows11_VScode_C++/test_d/test_two/Debug/app.exe diff --git a/Win11_vscode_c++/test_two/Header/add.c b/Windows11_VScode_C++/test_d/test_two/Header/add.c similarity index 100% rename from Win11_vscode_c++/test_two/Header/add.c rename to Windows11_VScode_C++/test_d/test_two/Header/add.c diff --git a/Win11_vscode_c++/test_two/Header/add.h b/Windows11_VScode_C++/test_d/test_two/Header/add.h similarity index 100% rename from Win11_vscode_c++/test_two/Header/add.h rename to Windows11_VScode_C++/test_d/test_two/Header/add.h diff --git a/Win11_vscode_c++/test_two/Source/main.c b/Windows11_VScode_C++/test_d/test_two/Source/main.c similarity index 100% rename from Win11_vscode_c++/test_two/Source/main.c rename to Windows11_VScode_C++/test_d/test_two/Source/main.c diff --git a/Win11_vscode_c++/test_zero/app.exe b/Windows11_VScode_C++/test_d/test_zero/app.exe similarity index 100% rename from Win11_vscode_c++/test_zero/app.exe rename to Windows11_VScode_C++/test_d/test_zero/app.exe diff --git a/Win11_vscode_c++/test_zero/main.c b/Windows11_VScode_C++/test_d/test_zero/main.c similarity index 100% rename from Win11_vscode_c++/test_zero/main.c rename to Windows11_VScode_C++/test_d/test_zero/main.c diff --git a/Win11_vscode_c++/test_zero/max.c b/Windows11_VScode_C++/test_d/test_zero/max.c similarity index 100% rename from Win11_vscode_c++/test_zero/max.c rename to Windows11_VScode_C++/test_d/test_zero/max.c diff --git a/Win11_vscode_c++/test_zero/max.h b/Windows11_VScode_C++/test_d/test_zero/max.h similarity index 100% rename from Win11_vscode_c++/test_zero/max.h rename to Windows11_VScode_C++/test_d/test_zero/max.h -- Gitee From ee271c82f4a50330283943935e6f31565c5ab4f7 Mon Sep 17 00:00:00 2001 From: klein1412 <1148878282@qq.com> Date: Wed, 8 Jan 2025 15:08:27 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=80=E7=BA=A7?= =?UTF-8?q?=E7=9B=AE=E5=BD=95=E7=9A=84=20readmi.md=20=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 5fe7c4ec..e57f1228 100644 --- a/README.md +++ b/README.md @@ -2,14 +2,16 @@ ## 项目介绍 -- [ ] Chrome_JavaScript - 学习笔记,小项目 -- [x] PlatfromIO_esp32 - 示波器,学会助手适配 -- [ ] Win11_vscode_c++ - windows11 系统 vscode 编译器 c/c++ 运行环境搭建 -- [ ] Small_boat_pid - 小船 pid 控制 +| Folder | Description | +| :--- | :--- | +| Chrome_JavaScript | 学习笔记,小项目 | +| PlatfromIO_esp32 | 示波器,学会助手适配 | +| Chrome_JavaScript | windows11 系统 vscode 编译器 c/c++ 运行环境搭建 | +| Small_boat_pid | 小船 pid 控制 | ### 如何使用,运行环境 - xxxxx -- x... -- readme.md ok +- x . . . +- Please read readmi.md \ No newline at end of file -- Gitee From 7107d37613c8b4787c001ee423bca6a57d14d7be Mon Sep 17 00:00:00 2001 From: klein1412 <1148878282@qq.com> Date: Wed, 8 Jan 2025 15:16:14 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=A4=B9=E5=92=8C=E5=AD=90=E6=96=87=E4=BB=B6=E5=A4=B9=E7=9A=84?= =?UTF-8?q?=E5=90=8D=E7=A7=B0=EF=BC=8C=E5=A2=9E=E5=8A=A0=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E8=AF=86=E5=88=AB=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Multi_file_structure}/.vscode/launch.json | 0 .../Multi_file_structure}/.vscode/settings.json | 0 .../Multi_file_structure}/.vscode/tasks.json | 0 .../Multi_file_structure}/README.md | 0 .../Multi_file_structure}/test_one/app.exe | Bin .../Multi_file_structure}/test_one/main.c | 0 .../Multi_file_structure}/test_one/max.c | 0 .../Multi_file_structure}/test_one/max.h | 0 .../Multi_file_structure}/test_two/Debug/app.exe | Bin .../Multi_file_structure}/test_two/Header/add.c | 0 .../Multi_file_structure}/test_two/Header/add.h | 0 .../Multi_file_structure}/test_two/Source/main.c | 0 .../Multi_file_structure}/test_zero/app.exe | Bin .../Multi_file_structure}/test_zero/main.c | 0 .../Multi_file_structure}/test_zero/max.c | 0 .../Multi_file_structure}/test_zero/max.h | 0 .../Single_file_structure}/.vscode/launch.json | 0 .../Single_file_structure}/.vscode/settings.json | 0 .../Single_file_structure}/.vscode/tasks.json | 0 .../Single_file_structure}/main.md | 0 .../Single_file_structure}/temporary.md | 0 .../Single_file_structure}/test_one/add.c | 0 .../Single_file_structure}/test_one/add.h | 0 .../Single_file_structure}/test_one/main.c | 0 .../Single_file_structure}/test_one/main.exe | Bin 25 files changed, 0 insertions(+), 0 deletions(-) rename {Windows11_VScode_C++/test_d => Win11_VScode_C++/Multi_file_structure}/.vscode/launch.json (100%) rename {Windows11_VScode_C++/test_c => Win11_VScode_C++/Multi_file_structure}/.vscode/settings.json (100%) rename {Windows11_VScode_C++/test_d => Win11_VScode_C++/Multi_file_structure}/.vscode/tasks.json (100%) rename {Windows11_VScode_C++/test_d => Win11_VScode_C++/Multi_file_structure}/README.md (100%) rename {Windows11_VScode_C++/test_d => Win11_VScode_C++/Multi_file_structure}/test_one/app.exe (100%) rename {Windows11_VScode_C++/test_d => Win11_VScode_C++/Multi_file_structure}/test_one/main.c (100%) rename {Windows11_VScode_C++/test_d => Win11_VScode_C++/Multi_file_structure}/test_one/max.c (100%) rename {Windows11_VScode_C++/test_d => Win11_VScode_C++/Multi_file_structure}/test_one/max.h (100%) rename {Windows11_VScode_C++/test_d => Win11_VScode_C++/Multi_file_structure}/test_two/Debug/app.exe (100%) rename {Windows11_VScode_C++/test_d => Win11_VScode_C++/Multi_file_structure}/test_two/Header/add.c (100%) rename {Windows11_VScode_C++/test_d => Win11_VScode_C++/Multi_file_structure}/test_two/Header/add.h (100%) rename {Windows11_VScode_C++/test_d => Win11_VScode_C++/Multi_file_structure}/test_two/Source/main.c (100%) rename {Windows11_VScode_C++/test_d => Win11_VScode_C++/Multi_file_structure}/test_zero/app.exe (100%) rename {Windows11_VScode_C++/test_d => Win11_VScode_C++/Multi_file_structure}/test_zero/main.c (100%) rename {Windows11_VScode_C++/test_d => Win11_VScode_C++/Multi_file_structure}/test_zero/max.c (100%) rename {Windows11_VScode_C++/test_d => Win11_VScode_C++/Multi_file_structure}/test_zero/max.h (100%) rename {Windows11_VScode_C++/test_c => Win11_VScode_C++/Single_file_structure}/.vscode/launch.json (100%) rename {Windows11_VScode_C++/test_d => Win11_VScode_C++/Single_file_structure}/.vscode/settings.json (100%) rename {Windows11_VScode_C++/test_c => Win11_VScode_C++/Single_file_structure}/.vscode/tasks.json (100%) rename {Windows11_VScode_C++/test_c => Win11_VScode_C++/Single_file_structure}/main.md (100%) rename {Windows11_VScode_C++/test_c => Win11_VScode_C++/Single_file_structure}/temporary.md (100%) rename {Windows11_VScode_C++/test_c => Win11_VScode_C++/Single_file_structure}/test_one/add.c (100%) rename {Windows11_VScode_C++/test_c => Win11_VScode_C++/Single_file_structure}/test_one/add.h (100%) rename {Windows11_VScode_C++/test_c => Win11_VScode_C++/Single_file_structure}/test_one/main.c (100%) rename {Windows11_VScode_C++/test_c => Win11_VScode_C++/Single_file_structure}/test_one/main.exe (100%) diff --git a/Windows11_VScode_C++/test_d/.vscode/launch.json b/Win11_VScode_C++/Multi_file_structure/.vscode/launch.json similarity index 100% rename from Windows11_VScode_C++/test_d/.vscode/launch.json rename to Win11_VScode_C++/Multi_file_structure/.vscode/launch.json diff --git a/Windows11_VScode_C++/test_c/.vscode/settings.json b/Win11_VScode_C++/Multi_file_structure/.vscode/settings.json similarity index 100% rename from Windows11_VScode_C++/test_c/.vscode/settings.json rename to Win11_VScode_C++/Multi_file_structure/.vscode/settings.json diff --git a/Windows11_VScode_C++/test_d/.vscode/tasks.json b/Win11_VScode_C++/Multi_file_structure/.vscode/tasks.json similarity index 100% rename from Windows11_VScode_C++/test_d/.vscode/tasks.json rename to Win11_VScode_C++/Multi_file_structure/.vscode/tasks.json diff --git a/Windows11_VScode_C++/test_d/README.md b/Win11_VScode_C++/Multi_file_structure/README.md similarity index 100% rename from Windows11_VScode_C++/test_d/README.md rename to Win11_VScode_C++/Multi_file_structure/README.md diff --git a/Windows11_VScode_C++/test_d/test_one/app.exe b/Win11_VScode_C++/Multi_file_structure/test_one/app.exe similarity index 100% rename from Windows11_VScode_C++/test_d/test_one/app.exe rename to Win11_VScode_C++/Multi_file_structure/test_one/app.exe diff --git a/Windows11_VScode_C++/test_d/test_one/main.c b/Win11_VScode_C++/Multi_file_structure/test_one/main.c similarity index 100% rename from Windows11_VScode_C++/test_d/test_one/main.c rename to Win11_VScode_C++/Multi_file_structure/test_one/main.c diff --git a/Windows11_VScode_C++/test_d/test_one/max.c b/Win11_VScode_C++/Multi_file_structure/test_one/max.c similarity index 100% rename from Windows11_VScode_C++/test_d/test_one/max.c rename to Win11_VScode_C++/Multi_file_structure/test_one/max.c diff --git a/Windows11_VScode_C++/test_d/test_one/max.h b/Win11_VScode_C++/Multi_file_structure/test_one/max.h similarity index 100% rename from Windows11_VScode_C++/test_d/test_one/max.h rename to Win11_VScode_C++/Multi_file_structure/test_one/max.h diff --git a/Windows11_VScode_C++/test_d/test_two/Debug/app.exe b/Win11_VScode_C++/Multi_file_structure/test_two/Debug/app.exe similarity index 100% rename from Windows11_VScode_C++/test_d/test_two/Debug/app.exe rename to Win11_VScode_C++/Multi_file_structure/test_two/Debug/app.exe diff --git a/Windows11_VScode_C++/test_d/test_two/Header/add.c b/Win11_VScode_C++/Multi_file_structure/test_two/Header/add.c similarity index 100% rename from Windows11_VScode_C++/test_d/test_two/Header/add.c rename to Win11_VScode_C++/Multi_file_structure/test_two/Header/add.c diff --git a/Windows11_VScode_C++/test_d/test_two/Header/add.h b/Win11_VScode_C++/Multi_file_structure/test_two/Header/add.h similarity index 100% rename from Windows11_VScode_C++/test_d/test_two/Header/add.h rename to Win11_VScode_C++/Multi_file_structure/test_two/Header/add.h diff --git a/Windows11_VScode_C++/test_d/test_two/Source/main.c b/Win11_VScode_C++/Multi_file_structure/test_two/Source/main.c similarity index 100% rename from Windows11_VScode_C++/test_d/test_two/Source/main.c rename to Win11_VScode_C++/Multi_file_structure/test_two/Source/main.c diff --git a/Windows11_VScode_C++/test_d/test_zero/app.exe b/Win11_VScode_C++/Multi_file_structure/test_zero/app.exe similarity index 100% rename from Windows11_VScode_C++/test_d/test_zero/app.exe rename to Win11_VScode_C++/Multi_file_structure/test_zero/app.exe diff --git a/Windows11_VScode_C++/test_d/test_zero/main.c b/Win11_VScode_C++/Multi_file_structure/test_zero/main.c similarity index 100% rename from Windows11_VScode_C++/test_d/test_zero/main.c rename to Win11_VScode_C++/Multi_file_structure/test_zero/main.c diff --git a/Windows11_VScode_C++/test_d/test_zero/max.c b/Win11_VScode_C++/Multi_file_structure/test_zero/max.c similarity index 100% rename from Windows11_VScode_C++/test_d/test_zero/max.c rename to Win11_VScode_C++/Multi_file_structure/test_zero/max.c diff --git a/Windows11_VScode_C++/test_d/test_zero/max.h b/Win11_VScode_C++/Multi_file_structure/test_zero/max.h similarity index 100% rename from Windows11_VScode_C++/test_d/test_zero/max.h rename to Win11_VScode_C++/Multi_file_structure/test_zero/max.h diff --git a/Windows11_VScode_C++/test_c/.vscode/launch.json b/Win11_VScode_C++/Single_file_structure/.vscode/launch.json similarity index 100% rename from Windows11_VScode_C++/test_c/.vscode/launch.json rename to Win11_VScode_C++/Single_file_structure/.vscode/launch.json diff --git a/Windows11_VScode_C++/test_d/.vscode/settings.json b/Win11_VScode_C++/Single_file_structure/.vscode/settings.json similarity index 100% rename from Windows11_VScode_C++/test_d/.vscode/settings.json rename to Win11_VScode_C++/Single_file_structure/.vscode/settings.json diff --git a/Windows11_VScode_C++/test_c/.vscode/tasks.json b/Win11_VScode_C++/Single_file_structure/.vscode/tasks.json similarity index 100% rename from Windows11_VScode_C++/test_c/.vscode/tasks.json rename to Win11_VScode_C++/Single_file_structure/.vscode/tasks.json diff --git a/Windows11_VScode_C++/test_c/main.md b/Win11_VScode_C++/Single_file_structure/main.md similarity index 100% rename from Windows11_VScode_C++/test_c/main.md rename to Win11_VScode_C++/Single_file_structure/main.md diff --git a/Windows11_VScode_C++/test_c/temporary.md b/Win11_VScode_C++/Single_file_structure/temporary.md similarity index 100% rename from Windows11_VScode_C++/test_c/temporary.md rename to Win11_VScode_C++/Single_file_structure/temporary.md diff --git a/Windows11_VScode_C++/test_c/test_one/add.c b/Win11_VScode_C++/Single_file_structure/test_one/add.c similarity index 100% rename from Windows11_VScode_C++/test_c/test_one/add.c rename to Win11_VScode_C++/Single_file_structure/test_one/add.c diff --git a/Windows11_VScode_C++/test_c/test_one/add.h b/Win11_VScode_C++/Single_file_structure/test_one/add.h similarity index 100% rename from Windows11_VScode_C++/test_c/test_one/add.h rename to Win11_VScode_C++/Single_file_structure/test_one/add.h diff --git a/Windows11_VScode_C++/test_c/test_one/main.c b/Win11_VScode_C++/Single_file_structure/test_one/main.c similarity index 100% rename from Windows11_VScode_C++/test_c/test_one/main.c rename to Win11_VScode_C++/Single_file_structure/test_one/main.c diff --git a/Windows11_VScode_C++/test_c/test_one/main.exe b/Win11_VScode_C++/Single_file_structure/test_one/main.exe similarity index 100% rename from Windows11_VScode_C++/test_c/test_one/main.exe rename to Win11_VScode_C++/Single_file_structure/test_one/main.exe -- Gitee From 4203ccd7d9abbfd3921e8ddbb463f7593d9f4537 Mon Sep 17 00:00:00 2001 From: klein1412 <1148878282@qq.com> Date: Wed, 8 Jan 2025 15:18:21 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20single=20=E7=9A=84=20m?= =?UTF-8?q?ain.md=20=E4=B8=BA=20README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Win11_VScode_C++/Single_file_structure/{main.md => README.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Win11_VScode_C++/Single_file_structure/{main.md => README.md} (100%) diff --git a/Win11_VScode_C++/Single_file_structure/main.md b/Win11_VScode_C++/Single_file_structure/README.md similarity index 100% rename from Win11_VScode_C++/Single_file_structure/main.md rename to Win11_VScode_C++/Single_file_structure/README.md -- Gitee