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

news2024/11/27 22:40:02

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: 65001

C:\Users\26831>

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

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

相关文章

科研绘图系列:R语言绘制SCI文章图2

文章目录 介绍加载R包导入数据图a图b图d系统信息介绍 文章提供了绘制图a,图b和图d的数据和代码 加载R包 library(ggplot2) library(dplyr) library(readxl) library(ggpmisc)导入数据 数据可从以下链接下载(画图所需要的所有数据): 百度网盘下载链接: https://pan.baid…

S14 瑞士轮胜者组 TES 2:0 击败 DK 晋级淘汰赛

电子竞技的赛场上&#xff0c;总有一些瞬间&#xff0c;让所有的质疑和嘲笑变得苍白无力。 今天&#xff0c;滔搏战队用自己的行动&#xff0c;再次证明了这一点。 他们不仅翻越了挡在面前的高山&#xff0c;更让世界听到了他们的故事。 这支曾被低估的队伍&#xff0c;在夏季…

使用Pytorch+Numpy+Matplotlib实现手写字体分类和图像显示

文章目录 1.引用2.内置图片数据集加载3.处理为batch类型4.设置运行设备5.查看数据6.绘图查看数据图片(1)不显示图片标签(2)打印图片标签(3)图片显示标签 7.定义卷积函数8.卷积实例化、损失函数、优化器9.训练和测试损失、正确率(1)训练(2)测试(3)循环(4)损失和正确率曲线(5)输出…

绘图技巧 | 矩形树状图(Treemap)绘图技巧分享~~

今天这篇推文&#xff0c;小编还是像往常一样交给大家绘图技巧&#xff0c;今天的主角就是-*树形矩阵图(Treemap)*。绘制树形图使用R或者Python都是可以绘制的&#xff0c;今天我们还是使用R进行绘制(Python绘制结果为交互式&#xff0c;后面统一介绍相应的库)。在R中有专门的包…

Java项目-----图形验证码登陆实现

原理: 验证码在前端显示,但是是在后端生成, 将生成的验证码存入redis,待登录时,前端提交验证码,与后端生成的验证码比较. 详细解释: 图形验证码的原理(如下图代码).前端发起获取验证码的请求后, 1 后端接收请求,生成一个键key(随机的键) 然后生成一个验证码作为map的valu…

npm运行时出现npm ERR! builtins is not a function报错!

项目场景&#xff1a; 项目运行时什么都没动都没改突然运行不起来了&#xff0c;报错 TypeError: builtins is not a function 代码什么都没动&#xff0c;不是代码问题&#xff0c;排查后只有可能是node和npm的问题&#xff0c;所以卸载掉node重装重启 解决方案&#xff1a; …

Python:赋值的本质其实是引用

相关阅读 Pythonhttps://blog.csdn.net/weixin_45791458/category_12403403.html?spm1001.2014.3001.5482 在Python编程中&#xff0c;我们经常会遇到各种赋值操作&#xff0c;无论是简单的变量赋值&#xff0c;还是复杂的数据结构操作。表面上看&#xff0c;赋值就是把一个值…

数字工厂管理系统如何优化生产流程

在当今快速变化的制造业环境中&#xff0c;提高生产效率、降低成本并确保产品质量是企业持续发展的关键。数字工厂管理系统作为智能制造的重要组成部分&#xff0c;正逐渐成为优化生产流程、推动产业升级的重要工具。本文将探讨数字工厂管理系统如何通过智能化、自动化和数据分…

目标检测中的损失函数

损失函数是用来衡量模型与数据的匹配程度的&#xff0c;也是模型权重更新的基础。计算损失产生模型权重的梯度&#xff0c;随后通过反向传播算法&#xff0c;模型权重得以更新进而更好地适应数据。一般情况下&#xff0c;目标损失函数包含两部分损失&#xff0c;一个是目标框分…

基于单片机的穿戴式泳池遇险紧急呼救系统的设计

本计基于单片机的穿戴式泳池遇险紧急呼救系统装置。该装置采用STC12C5A60S2单片机与心率检测模块MAX30102的一体化脉冲血氧分析仪和心率监测器&#xff0c;对人体的心跳进行了实时检测。该装置由发送端和接收端两部分组成&#xff0c;中间由LORA无线通信模块进行数据传输&#…

使用Pytorch写简单线性回归

文章目录 Pytorch一、Pytorch 介绍二、概念三、应用于简单线性回归 1.代码框架2.引用3.继续模型(1)要定义一个模型&#xff0c;需要继承nn.Module&#xff1a;(2)如果函数的参数不具体指定&#xff0c;那么就需要在__init__函数中添加未指定的变量&#xff1a; 2.定义数据3.实例…

掌握未来技能:亚马逊云科技推出生成式 AI 认证计划!

目录 前言 生成式 AI 的力量 1. 内容创造的无限可能 2. 数据增强和个性化 3. 提高生产力 4. 教育和研究的辅助工具 5. 突破语言障碍 关于亚马逊云科技生成式 AI 认证 1. 认证目标 2. 认证内容 3. 认证优势 如何获得认证 1. 在线学习 2. 实践考试 3.AWS Certifie…

连肝了多天学习MySQL索引与性能优化,详细总结一下索引的使用与数据库优化

文章目录 索引是什么&#xff1f;索引的作用初步认识索引索引的类型按照数据结构分类BTREE索引 哈希索引 按功能逻辑进行分类唯一索引普通索引主键索引全文索引 按照字段的个数进行划分单列索引多列&#xff08;组合&#xff0c;联合&#xff09;索引 小结索引的设计原则数据准…

FreeRTOS——TCB任务控制块、任务句柄、任务栈详解

任务控制块结构体 任务控制块是 FreeRTOS 中用于描述和管理任务的数据结构&#xff0c;包含了任务的状态、优先级、堆栈等信息。 TCB_t的全称为Task Control Block&#xff0c;也就是任务控制块&#xff0c;这个结构体包含了一个任务所有的信息&#xff0c;它的定义以及相关变…

UE5蓝图学习笔记玩家碰撞触发死亡加一秒黑屏

UE5蓝图学习笔记玩家碰撞触发死亡加一秒黑屏 1.代表检测自身是否到和其他Actor碰撞。 2.判断Actor是否等于Player Pawn 3.摄像机在一秒钟褪色0-1。 4.Delay延时一秒执行。 5.获取当前关卡的名字。 6.重新加载当前的关卡 。 7.获取Get Plyer Pawn。 8.获取玩家相机控制器…

一次性语音芯片:重塑语音识别技术,引领智能化生活新时代

随着一次性语音芯片的突破性进展&#xff0c;语音识别技术正融入我们生活的方方面面&#xff0c;引领着智能化生活迈向一个全新的时代。这些芯片不仅体积小巧、成本低廉&#xff0c;更在性能上实现了质的飞跃&#xff0c;能够更精确地捕捉并理解人类语音。本文将解读关于一次性…

Scrapy网络爬虫基础

使用Spider提取数据 Scarpy网络爬虫编程的核心就是爬虫Spider组件&#xff0c;它其实是一个继承与Spider的类&#xff0c;主要功能设计封装一个发送给网站服务器的HTTP请求&#xff0c;解析网站返回的网页及提取数据 执行步骤 1、Spider生成初始页面请求&#xff08;封装于R…

基于SpringBoot智能垃圾分类系统【附源码】

基于SpringBoot智能垃圾分类系统 效果如下&#xff1a; 系统首页界面 用户注册界面 垃圾站点页面 商品兑换页面 管理员登录界面 垃圾投放界面 物业登录界面 物业功能界图 研究背景 随着城市化进程的加速&#xff0c;生活垃圾的产量急剧增加&#xff0c;传统的垃圾分类方式已…

Java 集合 Collection常考面试题

理解集合体系图 collection中 list 是有序的,set 是无序的 什么是迭代器 主要遍历 Collection 集合中的元素,所有实现了 Collection 的集合类都有一个iterator()方法,可以返回一个 iterator 的迭代器。 ArrayList 和 Vector 的区别? ArrayList 可以存放 null,底层是由数…

Oracle RAC IPC Send timeout detected问题分析处理

一、报错信息 今天在进行数据库巡检时&#xff0c;在集群节点1发现了IPC相关报错信息&#xff1a; 2024-10-10T10:22:06.84631708:00 IPC Receiver dump detected. Sender instance 2 Receiver pnum 277 ospid 377527 [oraclezxsszpt-sjkfwq1 (PPA6)], pser 124403 2024-10-1…