【VScode】如何使用详细步骤【笔记】、配置 C / C ++【笔记】

2024 - 10 - 10 - 笔记 - 24
作者(Author):郑龙浩(仟濹)
该笔记写于 2024-07-02
摘抄到博客上的时间是 2024-10-10

VScode配置 C / C++ 笔记

我是看了下方链接的视频后为了方便后期复习做的笔记:

B站某UP主的视频如下:

VScode配置C/C++开发环境,安装/环境配置/编译/调试/汉化/编码问题_哔哩哔哩_bilibili[VScode配置C/C++开发环境,安装/环境配置/编译/调试/汉

https://www.bilibili.com/video/BV1UK411C7xi/?spm_id_from=333.999.0.0&vd_source=2683707f584c21c57616cc6ce8454e2b

1. VScode是什么???

编辑器,不是编译器,是一款跨平台的、免费的且开源的现代轻量代码编辑器,支持几乎主流开发语言的语法高亮、只能代码补全、自定义快捷键、括号匹配和颜色区分、代码片段提示、代码对比特性,也拥有对 git 的开箱即用的支持,同时,它还支持插件扩展,通过丰富的插件,用户能获得更多高效的功能。

2. VScode 下载 And 安装

两个版本【稳定版】and【体验版本】

推荐下载【稳定版】

下载链接

https://code.visualstudio.imgcom/Download

安装VS步骤

  1. 进入VScode官网
  2. 下载Windows x64稳定版 【stable】
  3. 下载完成以后双击安装包
  4. 单击“我同意此协议”,单击“下一步”
  5. 选择安装路径,单击下一步
  6. 创建程序的快捷方式的存储位置,默认即可,单击“下一步”
  7. 将所有的选项都勾选,单击“下一步”
  8. 单击“安装”按钮
  9. 安装完成以后单击“完成”按钮

安装中文插件

  1. Ctrl + Shift +F,搜索”Chinese“

  2. 单击“简体中文“的“Install”

  3. 出现提示(右下角),In order to use VS Code in Chinese Simplified, VS Code needs to restart.

    单击 “Restart”(重启)

    另一个选项“Don’t Restart”,这个选项不选

3. 配置C/C++环境

VSCode 安装好之后,我们还是要知道,VSCode毕竟是一个高级的编辑器,只能用来写C/C++代码,不能直接编译代码。所以,如果我们要能使用VSCode搭建C/C++的编译和调试环境,还必须编译器使用。为了方便,我们就使用 MinGW-w64,MinGw-w64 移植到windows平台的一个gcc编译器,使用起来也是非常方便的。下面我们就演示怎么下载和配置 MinGW-w64。

下载和配置MinGW-w64 编译器套件

下载地址:https://sourceforge.net/projects/mingw-w64/files/

下载操作
  1. 进入该网站,不要直接点下载,往下面翻一翻

  2. 找到x86_64-win32-seh,单击之后,进入新的界面,会自动下载

  3. 等待压缩包下载完成以后,解压该软件,会出现一个名为mingw64的文件夹

  4. 将该文件夹拷贝至C盘 / 盘的跟目录

    尽量将该文件夹放在C/D跟目录下,这样子做路径非常的短,方便寻找,还有就是不要使用中文命名,否则使用起来会出错误

    bin文件夹里面就是可执行工具了

配置操作

要在Path中增加一个mingGW64的中的文件变量

将bin目录添加到环境中

  1. 将bin的路径复制eg:C:\mingw64\bin

  2. win + S, 会弹出搜索栏,输入“环境变量”

  3. 在“系统属性”对话框中单击“环境变量”

  4. 在“环境变量”对话框中,双击“系统变量”中的“Path”

  5. 在下面空白位置双击 / 单击 “新建” 按钮,粘贴路径将C:\mingw64\bin

    单击 “确定”,再次单击 “确定”

  6. 单击 “确定”

将bin的路径添加到环境变量中有用什么用呢???

这样的话像bin文件夹中的这种g++/gcc/java/javac这中编译器、编辑器就可以通过命令行的方式去使用了

如何验证环境变量是否配置好呢???

  1. 在搜索栏输入cmd
  2. 输入where gcc
  3. 打印C:\mingw64\bin\gcc.exe

如果出现 3,那就证明MinGW64这个路径已经配置好了

4. 安装C / C++ 插件

  1. 打开VScode
  2. 单击左侧“扩展”图标,在搜索栏中搜索C/C++,单击“安装”
  3. 重启VScode(很重要,让VScode重新识别,不然VScode无法识别到新的配置,这样前面的设置才会生效,要不然以后会出问题的)

5. 在VScode 编译前的操作 + 编译

如何理解文件中的部分设置的内容,第第七步中会给出答案

(1)新建C文件,并编写C程序

在某文件夹内创建.c文件,编写.C文件即可进行测试

先写一个.c代码,为了下一步方便进入.c文件进行更改

(2) 配置C/C++编译选项 c_cpp_properties.json

① 配置编译器路径

  1. 进入.c源文件内部,按Ctrl + Shift + P快捷键

  2. 在软件的上方 会弹出一个搜索框,单击 / 搜索 >C / C++:编辑配置(UI)

  3. 进入一个新的界面,配置 “编译器路径”,找到 “编译器路径”

  4. 选择“C:/mingw64/bin/gcc.exe” 路径

    注:这个文件路径就是我之前配置环境变量的文件路径下的gcc.exe,这是一个工具

    每个人下载的mingw64的路径可能都不一样,要看清楚自己的mingwg的文件路径在哪,并且要将这个文件夹下的bin文件夹配置到环境变量中去,千万要注意,要看看自己的文件夹在什么位置

② 选择 IntelliSense 模式 (代码提示的格式)

  1. 选择 “gcc-64(legacy)”

  2. 此时 左侧 “资源管理器” 中会出现文件夹.vscode,里面有一文件 c_cpp_properties.json

  3. 单击该文件,可以在源文件中看到

    {"configurations": [{"name": "Win32","includePath": ["${workspaceFolder}/**"],"defines": ["_DEBUG","UNICODE","_UNICODE"],"windowsSdkVersion": "10.0.22621.0",//指Windows SDK"compilerPath": "C:/mingw64/bin/gcc.exe",//指定了编译器是什么样子的"cStandard": "c17",//C编译的标准是什么"cppStandard": "c++17",//C++ 编译的标准是什么"intelliSenseMode": "gcc-x64"//代码提示的格式是什么}],"version": 4
    }
    

(3)创建执行任务:tasks.json

  1. 进入 VScode主界面,单击 “终端” 菜单,在弹出的快捷菜单中单击 “配置任务” 按钮

  2. 在上方搜索位置单击 / 搜索并单击 C/C++: gcc.exe 生成活动文件

  3. 在左侧 “资源管理器” 中的 “.vscode” 中出现了一个 tasks.json

    这个文件是专门是用来执行代码的编译任务的。

{//注释是自己写的,为了能看懂"tasks": [{"type": "cppbuild","label": "C/C++: gcc.exe 生成活动文件","command": "C:/mingw64/bin/gcc.exe",//这里是指定编译器(不是自带的)"args": ["-fdiagnostics-color=always","-g","${file}",//指定被编译的文件是哪一个(不是自带的),就是说,编译的时候,要编译的文件是什么名字【file意思就是文件】"-o","${fileDirname}\\${fileBasenameNoExtension}.exe"//指定生成的可执行文件的路径,就是编译以后,生成的可执行文件存放到哪个路径,【file意思就是文件】],"options": {"cwd": "C:/mingw64/bin"},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault": true},"detail": "调试器生成的任务。"}],"version": "2.0.0"
}

(4)编译 And 执行

① 如何运行 + 编译

看的下方链接的视频:

8.VSCode编译和执行C程序_哔哩哔哩_bilibili

https://www.bilibili.com/video/BV1UK411C7xi/?p=8&spm_id_from=pageDriver&vd_source=2683707f584c21c57616cc6ce8454e2b

  1. 如果开着刚才的tasks.json文件,则关闭

  2. 进入 .c 文件。输入代码

  3. 单击 “终端” –> “运行生成任务”(有的是执行)Ctrl + Shift + B

  4. 会在下方 “终端” 打印出来 “生成已成功完成”,并且在左侧 file.c 下面生成 file.exe 文件

    运行:

  5. Ctrl + ` 快捷键,打开VScode 自带的终端(一般是开着的),就可以运行代码了。

  6. 要在终端处单击一下,然后按任意键在终端中会出现存放着.c文件的路径,在后面写.\file.exe之类的,总之就是定位到要执行的执行文件的路径,然后单击回车

    PS D:\code\Gitee\practice> .\C语言\二分查找.exe

  7. 显示运行结果

总之就是先配置任务,再运行生成任务

② 再写一个代码怎么办?

  1. 在当前文件夹内新建一个.c文件
  2. 在文件内部写代码
  3. 单击 “终端” –> “运行生成文件” 「Ctrl + Shift + B」

③ 再另一个文件夹写一个代码该怎么办,还需要重新搞一个.vscode文件夹,并且文件夹里还要添加c_cpp_properties.json和tasks.json文件吗?

其实重新添加也可以,直接将上次的文件夹中的.vscode复制到本文件夹也可以,都是可以用的

  1. 然后.vscode复制到一个新的或者另一个文件夹里
  2. 进入VScode主界面,单击 “打开文件夹”,打开另一个文件夹
  3. 进入新的文件夹,创建一个新的.c文件
  4. 剩下的步骤和以前都一样的

(5)一个工程中有多个.c文件需要编译怎么办?

改造tasks.json并构建验证结果
要能够编译一个文件中的多个文件,需要定制tasks.json文件的内容

编译多个源代码文件:

  • 通过把"${file}“修改为”${wgrkspaceFolder}\\*.c",可以构建当前工作区中的所有C文件。
  • 通过把"${file}“修改为”${workspaceFolder}\*.cpp",可以构建当前工作区中的所有C++文件

修改编译输出的文件名:

  • 通过把"${fileDirname}\\${fileBasenameNoExtension}.exe",修改为:"${workspaceFolder}\\myProgram.exe"可以把编译输出的文件名硬编码为myProgram.exe,而不是与C文件同名。
  • 通过把"${fileDirname}\\${fileBasenameNoExtension}.exe",修改为:“${workspaceFolder}\\${workspaceRootFolderName} .exe”,可以把编译输出的文件名为:打开的工作区文件夹名字.exe

可以对比一下, 和上看的不太一样

{//注释是自己写的,为了能看懂"tasks": [{"type": "cppbuild","label": "C/C++: gcc.exe 生成活动文件","command": "C:/mingw64/bin/gcc.exe",//这里是指定编译器(不是自带的)"args": ["-fdiagnostics-color=always","-g","${wgrkspaceFolder}\\*.c",//指定被编译的文件是哪一个(不是自带的),就是说,编译的时候,要编译的文件是什么名字   这里的\*.c  “*”值得是全部的意思,这里的意思就是执行所有的.c文件"-o","${workspaceFolder}\\myProgram.exe"//指定生成的可执行文件的路径,就是编译以后,生成的可执行文件存放到哪个路径,【file意思就是文件】    让输出的文件的名字和文件夹的名字相同],"options": {"cwd": "C:/mingw64/bin"},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault": true},"detail": "调试器生成的任务。"}],"version": "2.0.0"
}
  1. 首先将.vscode文件夹拷贝到现在的文件夹中
  2. 进入tasks.json文件

6. C++ 如何编译呢?和C语言需要的c_cpp_properties.json一样吗?

不太一样

需要更改

  1. Ctrl + Shift + P,在上方出现的搜索栏中输入/单击 “C/C++配置编辑(UI)”

  2. 在新界面当中,找到 “配置名称” 可以不更改上面设置的C的配置“win32”,可以直接单击 “添加配置” 直接添加一个新的配置

  3. 直接输入C++

  4. 同样的,选择 < 编译器文件路径 > 为 “C:mingw64/bin/g++.exe”

  5. 选择提示C++代码提示的工具

    IntelliSense 模式中选择 “gcc-64(legacy)

  6. C 标准和 C++标准选择c17Orc++17即可

  7. 此时,c_cpp_properties.json中就会生成 更改后的新的编译选项

c_cpp_properties.json

会发现下面有两个name

{"configurations": [{"name": "Win32","includePath": ["${workspaceFolder}/**"],"defines": ["_DEBUG","UNICODE","_UNICODE"],"windowsSdkVersion": "10.0.22621.0","compilerPath": "C:/mingw64/bin/gcc.exe","cStandard": "c17","cppStandard": "c++17","intelliSenseMode": "gcc-x64"},{"name": "C++","includePath": ["${workspaceFolder}/**"],"defines": ["_DEBUG","UNICODE","_UNICODE"],"windowsSdkVersion": "10.0.22621.0","compilerPath": "C:/mingw64/bin/g++.exe","cStandard": "c17","cppStandard": "c++17","intelliSenseMode": "gcc-x64","compilerArgs": [],"mergeConfigurations": false,"browse": {"path": ["${workspaceFolder}/**"],"limitSymbolsToIncludedHeaders": true}}],"version": 4
}

如何编译

由于之前launch.json有了生成.exe文件所需要的编译文件,即gcc,如果想让c++文件编译,就需要重新配置任务。从而改变lauch.json

  1. 将.VScode复制到存放.cpp文件的文件夹中

  2. 创建或者在本文件夹中打开一个.cpp文件,记住,一定要选中或进入某个.cpp文件,否则第4步不会出现想点的按钮

  3. 单击右下角的win32/C++的地方,即可更改配置,这显示的就是之前我们设置的C/C++配置名称

    或 单击 “终端” –> “配置任务”

  4. 单击上方搜索栏中的 “C/C++:g++.exe 生成活动文件 (换行)编译器: C:\mingw64\bin\g++.exe

  5. 单击 “终端” – > “运行生成任务”,在顶部会出现选择要运行的生成任务,继续选择 “C/C++:g++.exe 生成活动文件 (换行)编译: C:\mingw64\bin\g++.exe”,即可运行

至于C++中如何执行多个文件,其实是和C中是一样的
C语言和C++使用的编译工具不同 一个是gcc 一个是g++

7. 如何对程序进行调试??

VScode的调试的关键是依赖一个配置文件 “launch.json

bin文件中的“gdb.exe” 就是调试需要的工具

launch.json

解析:

中的 "program": 指的是调试谁,“miDebuggerPath”: 指的是被谁调试

① 调试前需要的配置

  1. 进入VScode主界面,最左侧几个按钮中的 “运行和调试”,也可以按Ctrl + Shift + D

  2. 单击 “创建lauch.json文件”(蓝色字体)

  3. 上方出现文本框,单击 “C++(GDB/LLDB)”。(然后默认在.vscode文件夹下面出现一个launch.json文件)

    launch.json:

    {// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "(gdb) 启动","type": "cppdbg","request": "launch","program": "输入程序名称,例如 ${workspaceFolder}/a.exe","args": [],"stopAtEntry": false,"cwd": "${fileDirname}","environment": [],"externalConsole": false,"MIMode": "gdb","miDebuggerPath": "/path/to/gdb","setupCommands": [{"description": "为 gdb 启用整齐打印","text": "-enable-pretty-printing","ignoreFailures": true},{"description":  "将反汇编风格设置为 Intel","text": "-gdb-set disassembly-flavor intel","ignoreFailures": true}]},{"name": "(gdb) 启动","type": "cppdbg","request": "launch","program": "输入程序名称,例如 ${workspaceFolder}/a.exe","args": [],"stopAtEntry": false,"cwd": "${fileDirname}","environment": [],"externalConsole": false,"MIMode": "gdb","miDebuggerPath": "/path/to/gdb","setupCommands": [{"description": "为 gdb 启用整齐打印","text": "-enable-pretty-printing","ignoreFailures": true},{"description":  "将反汇编风格设置为 Intel","text": "-gdb-set disassembly-flavor intel","ignoreFailures": true}]},{"name": "(gdb) 启动","type": "cppdbg","request": "launch","program": "输入程序名称,例如 ${workspaceFolder}/a.exe","args": [],"stopAtEntry": false,"cwd": "${fileDirname}","environment": [],"externalConsole": false,"MIMode": "gdb","miDebuggerPath": "/path/to/gdb","setupCommands": [{"description": "为 gdb 启用整齐打印","text": "-enable-pretty-printing","ignoreFailures": true},{"description": "将反汇编风格设置为 Intel","text": "-gdb-set disassembly-flavor intel","ignoreFailures": true}]}]
    }
    
  4. 进入launch.json文件,在现实代码的右下方位置会有一个 “添加配置” 按钮,单击“添加配置”按钮

  5. 在代码区域会出现一个快捷菜单,而在其中可以勾选多个选项,勾选 “C/C++: (gdb)启动” 【这样就增加了一个对GDB的调试】

  6. tasks.json文件中的 “${fileDirname}\\${fileBasenameNoExtension}.exe”【如果之前配置的是编译整个文件夹,就是这个】或“${workspaceFolder}\\${workspaceRootFolderName} .exe”【如果之前配置的是编译某个文件,就是这个】 复制,拷贝到 launch.json文件中的 "program":后“输入程序名称,例如${workspaceFolder}/a.exe”,将其覆盖

    意思就是,tasks.json中的"-o"下面的内容(就是编译生成的可执行程序)我所说的可执行程序就是"${fileDirname}\\${fileBasenameNoExtension}.exe""${workspaceFolder}\\${workspaceRootFolderName} .exe",是生成的.exe文件,而 launch.json 中 program:指的是调试的.exe文件,所以需要改成tasks.json中的需要

  7. 更改调试工具:

    "miDebuggerPath": "/path/to/gdb", 改为 gdb.exe 的文件路径

    "miDebuggerPath": "C:\\mingw64\bin\\gdb.exe",
    
  8. 此时就已经配置好了

② 调试的步骤

  • F9 – 打断点 / 取消断点
  • F5 – 启动调试
  • F10 – 主语句调试
  • F11 – 逐过程调试

8. 我在执行.exe文件的时候出现了问题,打印的中文是乱码,其他的都不是乱码,怎么解决??

一般出了这种问题,都是和文件编码有些关系

文件的文件编码不支持中文,或者 文件的文件编码和终端的文件编码不一致才会导致这种情况的出现

方法 ① 在文件中直接高速计算机我要的编码

从该博主发的博客中学习到了该方法:

vscode生成的exe文件出现中文乱码的问题_vc code打包得exe中文运行乱码-CSDN博客

https://blog.csdn.net/weixin_46374277/article/details/124275252

头文件处添加:

#include<windows.h>

main函数中加入语句:

SetConsoleOutputCP(65001);

方法 ② 更改 “控制台” 的 文件编码( 字符编码 )(临时更改)

从这位博主发的博客中学习到的此方法:

vscode中文乱码问题_vs code中文乱码-CSDN博客

https://blog.csdn.net/qq_35629971/article/details/129175282?ops_request_misc=&request_id=&biz_id=102&utm_term=永久解决VScode.exe乱码的问题&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0-129175282.142v100control&spm=1018.2226.3001.4449

UTF - 8 的文件编码为 65001

这种方法可以暂时解决,但是每次都要在控制台或者终端出入chcp 65001

在 “终端” 中输入 chcp 可以查询默认编码

  1. 在终端中输入chcp,查询编码
  2. 如果是65001,就是其他原因,如果不是,那就要输入chcp 65001
  3. 即可解决

方法3 更该 “控制台” 的 文件编码(永久解决)

从这位博主发的博客中学习到了如何解决该问题:

如何修改cmd控制台默认编码为utf-8,正确显示汉字_cmd默认编码-CSDN博客

https://blog.csdn.net/lyyybz/article/details/120782669?ops_request_misc=&request_id=&biz_id=102&utm_term=永久性更改控制台的字符编码&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0-120782669.142v100control&spm=1018.2226.3001.4187

这样操作后,每次进入控制台,都会在开头执行一次

chcp 65001

Active code page: 65001C:\Users\26831>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/55814.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VMware桥接模式无法连接网络

windows下打开控制面板&#xff0c;找到WLAN&#xff0c;记住下面的名称&#xff08;带有VMware的都是虚拟机的网卡&#xff0c;要找到物理主机的网卡&#xff09; 回到VMware&#xff0c;编辑——打开虚拟网络编辑器 桥接选择上面的WLAN下的网络名称&#xff0c;确定即可。&…

需求9——通过一个小需求来体会service层的作用

昨天在完成了睿哥的需求验收之后&#xff0c;暂时没有其他任务&#xff0c;因此今天可能会比较有空闲时间。趁着这个机会&#xff0c;我打算把之前完成的一些需求进行总结&#xff0c;方便以后复习和参考。 在8月份的时候&#xff0c;我负责了一个需求&#xff0c;该需求的具体…

基于xml配置文件的Spring事务

在项目中对事务属性通常传播属性&#xff0c;回滚属性&#xff0c;隔离级别&#xff0c;超时属性都取默认值&#xff0c;只有只读属性会如下的配置&#xff1a; 什么意思&#xff1a;Service层你的类里的方法&#xff0c;以get&#xff0c;find&#xff0c;select等开头的方法是…

Robust多模态模型的开发

本文所涉及所有资源均在 传知代码平台 可获取。 目录 Robust 多模态模型&#xff1a;寻找遗失的模态&#xff01; 一、研究背景 二、模型结构和代码 三、数据集介绍 六、性能展示 六、实现过程 七、运行过程 Robust 多模态模型&#xff1a;寻找遗失的模态&#xff01; 近年来&a…

threejs-基础材质设置

一、介绍 主要内容&#xff1a;基础材质(贴图、高光、透明、环境、光照、环境遮蔽贴图) 主要属性&#xff1a; side: three.DoubleSide, //设置双面 color: 0xffffff, //颜色 map: texture, //纹理 transparent: true, // 透明度 aoMap: aoTexture, //ao贴图 aoMapIntensity: 1…

Linux下载安装MySQL8.4

这里写目录标题 一、准备工作查看系统环境查看系统架构卸载已安装的版本 二、下载MySQL安装包官网地址 三、安装过程上传到服务器目录解压缩&#xff0c;设置目录及权限配置my.cnf文件初始化数据库配置MySQL开放端口 一、准备工作 查看系统环境 确认Linux系统的版本和架构&am…

【js逆向学习】极志愿 javascript+python+rpc

JSRPC使用方式 逆向目标逆向过程逆向分析1、什么是 websocket2、websocket的原理3、总体过程3.1 环境说明3.2 python服务端代码3.3 python客户端代码 4、Sekiro-RPC4.1 执行方式4.2 客户端环境4.3 参数说明4.4 SK API4.5 python代码调试4.6 代码注入流程 逆向总结 逆向目标 网…

AI资深导师指导-ChatGPT深度科研工作应用、论文撰写、数据分析及机器学习与AI绘图

2022年11月30日&#xff0c;可能将成为一个改变人类历史的日子——美国人工智能开发机构OpenAI推出了聊天机器人ChatGPT3.5&#xff0c;将人工智能的发展推向了一个新的高度。2023年4月&#xff0c;更强版本的ChatGPT4.0上线&#xff0c;文本、语音、图像等多模态交互方式使其在…

太速科技-607-基于FMC的12收和12发的光纤子卡

基于FMC的12收和12发的光纤子卡 一、板卡概述 本卡是一个FPGA夹层卡&#xff08;FMC&#xff09;模块&#xff0c;可提供高达2个CXP模块接口&#xff0c;提供12路收&#xff0c;12路发的光纤通道。每个通道支持10Gbps,通过Aurora协议&#xff0c;可以组成X4&#xff0…

LivePortrait:创新的肖像动画技术与深度伪造的预防措施

文章链接&#xff1a;https://arxiv.org/pdf/2407.03168 代码仓库&#xff1a;https://liveportrait.github.io 在数字媒体和娱乐领域&#xff0c;将静态肖像照片转换成动态视频是一个引人入胜的话题。最近&#xff0c;由快手科技的研究团队发表在arXiv上的一篇论文介绍了一种…

有千元以内的高性价比自动猫砂盆吗?双十一必看选购攻略!

对于经常外出的铲屎官来说&#xff0c;自动猫砂盆真的是一个必需品&#xff0c;不仅仅是上班出差&#xff0c;节假日旅游出行&#xff0c;小到外出逛街&#xff0c;大到五六天&#xff0c;自动猫砂盆都能完美解决猫屎残留在猫砂盆里无人照料的问题&#xff0c;毕竟猫屎放久了&a…

SpringBoot框架下旅游管理系统的创新设计与实现

第二章 相关技术简介 2.1 JAVA技术 本次系统开发采用的是面向对象的Java作为软件编程语言&#xff0c;Java表面上很像C&#xff0c;但是Java仅仅是继承了C的某些优点&#xff0c;程序员很少使用的C语言的特征在Java设计中去掉了。Java编程语言并没有什么结构&#xff0c;它把数…

Java | Leetcode Java题解之第461题汉明距离

题目&#xff1a; 题解&#xff1a; class Solution {public int hammingDistance(int x, int y) {int s x ^ y, ret 0;while (s ! 0) {s & s - 1;ret;}return ret;} }

图论day56|广度优先搜索理论基础 、bfs与dfs的对比(思维导图)、 99.岛屿数量(卡码网)、100.岛屿的最大面积(卡码网)

图论day56|广度优先搜索理论基础 、bfs与dfs的对比&#xff08;思维导图&#xff09;、 99.岛屿数量&#xff08;卡码网&#xff09;、100.岛屿的最大面积&#xff08;卡码网&#xff09;&#xff09; 广度优先搜索理论基础bfs与dfs的对比&#xff08;思维导图&#xff09;&…

音视频入门基础:FLV专题(12)——FFmpeg源码中,解析DOUBLE类型的ScriptDataValue的实现

一、引言 从《音视频入门基础&#xff1a;FLV专题&#xff08;9&#xff09;——Script Tag简介》中可以知道&#xff0c;根据《video_file_format_spec_v10_1.pdf》第80到81页&#xff0c;SCRIPTDATAVALUE类型由一个8位&#xff08;1字节&#xff09;的Type和一个ScriptDataV…

电影选票选座系统|影院购票|电影院订票选座小程序|基于微信小程序的电影院购票系统设计与实现(源码+数据库+文档)

电影院订票选座小程序 目录 基于微信小程序的电影院购票系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、用户功能实现 2、管理员功能实现 &#xff08;1&#xff09;影院信息管理 &#xff08;2&#xff09;电影信息管理 &#xff08;3&#xff09;已完成…

VUE 开发——Vue学习(二)

一、watch侦听器 作用&#xff1a;监视数据变化&#xff0c;执行一些业务逻辑或异步操作 简单写法 <div id"app"><textarea v-model"words"></textarea></div><script>const app new Vue({el:#app,data: {words: },watch…

在北京能不能设计一款可以多屏展示的调度桌

在北京这座科技与创新并蓄的国际大都市&#xff0c;设计一款集高效、智能与多屏展示功能于一体的调度桌&#xff0c;不仅是一个技术挑战&#xff0c;更是对未来工作场景的一次深刻探索与重塑。那么&#xff0c;在北京能不能设计一款可以多屏展示的调度桌呢? 随着信息技术的飞速…

AI产品经理指南:我是谁,从哪来,到哪去|对谈字节AI产品负责人Vanessa,面试了100位AI产品经理后的心得总结

AI 正在改变各行各业&#xff0c;或许首当其冲受到影响的就包括离 AI 最近的一群人——产品经理。 Vanessa 在字节负责 AI 产品工作&#xff0c;我们从「面试了 100 位 AI 产品经理」的心得总结开始&#xff0c;聊了聊究竟什么是「AI 产品经理」&#xff1f;Vanessa资深的产品经…

QT元对象系统特性详细介绍(信号槽、类型信息、动态设置属性)(注释)

目录 一、元对象系统简介 二、信号和槽 三、类型信息 四、动态设置属性 一、元对象系统简介 QT中的元对象系统Q_OBJECT并不是C标准代码&#xff0c;因此在使用时需要QT的MOC&#xff08;元对象编译器&#xff09;进行预处理&#xff0c;MOC会在编译时期读取C代码中的特定宏…