当前位置: 首页 > news >正文

Cursor搭配cmake实现C++程序的编译、运行和调试

Cursor搭配cmake实现C++程序的编译、运行和调试

Cursor是一个开源的AI编程编辑器,开源地址https://github.com/getcursor/cursor ,它其实是一个集成了Chat-GPT的VS Code。

关于VS Code和VS的对比可以参考这篇文章VS Code 和 Visual Studio 哪个更好?

1 准备工作

1.1 Cursor下载、安装和插件安装

1.下载Cursor
在这里插入图片描述

2.双击下载好的exe文件进行安装(安装过程很简单,就不赘述了)
在这里插入图片描述

3.安装插件
首先安装一个中文插件将cursor汉化,方便入门学习,安装好之后重启一下cursor就可以生效了,
在这里插入图片描述

然后安装以下几个必备插件用于C++开发
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.2 MinGW、CMake工具下载

我这里之前安装过QT5.12.2,在QT的安装目录下的Tool文件夹中已经包含了MinGW和CMake,直接进行环境变量配置就可以了。如果没有可以在公众号VSCode中回复cpp获取压缩包,比在网站上下载安装包一步步安装要快很多。
压缩包下载好之后,直接解压到自己电脑合适的路径下即可使用。

1.3 MinGW、CMake环境变量配置

1.右键“此电脑”,点击“属性”打开设置面板,选择“高级系统设置”,在弹出的系统属性面板中选择“高级”选项卡,然后点击“环境变量”按钮进入环境变量配置界面
2.在“系统变量”中选中“Path”,然后点击“编辑”,再点击“新建”,将cmake.exe、g++.exe、mingw32-make.exe三个文件所在的目录路径加进来
在这里插入图片描述

3.回到电脑桌面,按住Shift后点击右键,选择“在此处打开Powershell窗口”,分别在命令行输入gcc、g++、cmake后,如果是这样的结果,说明配置成功:
在这里插入图片描述

2 代码演练

2.1 使用AI辅助写代码

1.在自己电脑合适的位置新建一个文件夹,我这里是在D盘建了一个名为"VsCodeTest"的文件夹,
在这里插入图片描述

2.在Cursor中打开新建的文件夹
在这里插入图片描述

3.光标停留在文件夹名上,点击“新建文件”,新建一个main.cpp
在这里插入图片描述

4.在main.cpp中,按Ctrl+K,输入“写一个交换两个int型数据的函数”,按回车会自动生成一段代码:
在这里插入图片描述

5.检查无误后按Ctrl+Enter确认代码
在这里插入图片描述

6.继续按Ctrl+K,输入“写一个main函数调用上面的交换函数”,按回车会自动生成main函数:
在这里插入图片描述

7.导入头文件iostream解决代码报错
在这里插入图片描述

2.2 手动编译和运行

1.在Cursor菜单栏选择“终端”-“新建终端”
在这里插入图片描述

2.在终端窗口中的命令行里输入g++ .\main.cpp后回车对main.cpp进行编译,目录下会生成一个a.exe
在这里插入图片描述

3.在终端窗口中的命令行里输入.\a.exe运行a.exe
在这里插入图片描述

此时的a.exe不带调试信息,我们可以通过ls指令查看它的大小:
在这里插入图片描述

如果想要拥有一个带有调试信息的可执行文件,我们需要修改一下编译指令:
在这里插入图片描述

2.3 自动编译、运行和调试

1.在菜单栏选择“运行”-“启动调试”
在这里插入图片描述

2.选择编译器,配置tasks.json
在这里插入图片描述

此时工作目录下会自动生成一个.vscode文件夹,里面有一个tasks.json文件,按照我的理解,这个文件里面定义了一些编译的任务和对应的设置,我这边自动生成的tasks.json如下所示:
在这里插入图片描述

鼠标停留在某一项上会有一个tooltip提示你这一项是配置什么的。仔细观察会发现,其实"command"+"args"这两项对应我们在2.2节最后一步编译带调试信息的exe时的编译指令,所以我们将tasks.json修改如下:
在这里插入图片描述

3.在运行和调试页面点击“创建launch.json文件”
在这里插入图片描述

4.选择调试器:
在这里插入图片描述

5.在自动生成的launch.json文件中点击添加配置
在这里插入图片描述

此时会自动生成如下配置,需要重点关注和修改的已用红框标出
在这里插入图片描述

其中"program"配置的是我们要运行和调试的可执行文件,也就是前面tasks.json中编译生成的main.exe,"cwd"为目标工作目录,要与tasks.json中一致,"miDebuggerPath"配置的是调试器的路径,因为我的gdb.exe跟前面的g++.exe和mingw32-make.exe在同一目录下,该目录已经添加到系统环境变量中,所以这里写一个"gdb.exe"就可以了。另外再增加一个"preLaunchTask"属性设置让launch.json在每次启动调试前去调用tasks.json中的任务,最终launch.json修改如下:
在这里插入图片描述

6.在main.cpp增加几个断点,此时点击运行和调试即可以正常命中断点并进行调试了。
在这里插入图片描述

2.4 使用cmake进行多文件编译、运行和调试

1.删除之前生成的exe文件,在工作目录下创建swap.h和swap.cpp,将swap函数移出,另外新建CMakeLists.txt(文件名一定要写对),各文件内容如下:
在这里插入图片描述

2.如果电脑上装了VS,为了防止默认调用微软的MSVC编译器,在.vscode文件夹下新建一个settings.json(文件名一定要写对)添加如下设置,相当于用(cmake -G “MinGW Makefiles” …)代替(cmake …)
在这里插入图片描述

3.在搜索框输入>camke,选择cmake:配置(这一步等同于在终端窗口命令行输入cmake -D “CMAKE_BUILD_TYPE:STRING=Debug” -D “CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE” -S ./ -B ./build -G “MinGW Makefiles”)
在这里插入图片描述

出现如下字眼说明构建成功:
在这里插入图片描述

此时工作目录下会自动生成build文件夹:
在这里插入图片描述
4.上面一步的动作也可以写成tasks.json中的任务自动被launch.json调用,修改tasks.json的配置如下

{"version": "2.0.0","options": {"cwd": "${workspaceFolder}/build"},"tasks": [{// 任务一: 创建 build 文件夹"type": "shell","label": "CreateBuildDir", // lable 标记任务名称"command": "mkdir",  // 命令"args": ["-Force","build"],"options": {"cwd": "${workspaceFolder}"},"problemMatcher": ["$gcc"],},{// 任务二: 执行cmake指令根据CMakeLists.txt在build目录下生成Makefile"type": "shell","label": "cmake","command": "cmake","args": ["-D","CMAKE_BUILD_TYPE:STRING=Debug",//编译带调试信息的"-D","CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE","-G","MinGW Makefiles","-S",".."//CMakeLists.txt在build的上一级目录中],"dependsOn":["CreateBuildDir"]},{// 任务三: 执行mingw32-make.exe根据Makefile编译可执行文件"label": "make","group":{"kind": "build","isDefault": true},"command": "mingw32-make.exe","args": [],"dependsOn":["cmake"]},{// 任务四: 调用任务三"label":"C/C++: g++.exe 生成活动文件","dependsOn":["make"]}],"presentation": {"panel": "new",}
}

5.修改launch.json的配置如下:
在这里插入图片描述

6.此时点击运行和调试会自动在build目录下生成main.exe并且可以正常命中断点并进行调试了
在这里插入图片描述
在这里插入图片描述

相关文章:

Cursor搭配cmake实现C++程序的编译、运行和调试

Cursor搭配cmake实现C程序的编译、运行和调试 Cursor是一个开源的AI编程编辑器,开源地址https://github.com/getcursor/cursor ,它其实是一个集成了Chat-GPT的VS Code。 关于VS Code和VS的对比可以参考这篇文章VS Code 和 Visual Studio 哪个更好&…...

读零信任网络:在不可信网络中构建安全系统09用户信任

1. 用户信任 1.1. 将设备身份和用户身份混为一谈会导致一些显而易见的问题 1.1.1. 特别是当用户拥有多台设备时,而这种情况很普遍 1.1.2. 应该针对不同类型的设备提供相匹配的凭证 1.1.3. 在存在共用终端设备的情况下,所有的这些问题将更加凸显 1.2…...

二叉树的实现 c语言

注:层序所需的队列文件请参考 C语言 实现栈(顺序表)和队列(链表)-CSDN博客 一、 BTree.h 函数包含: // 通过前序遍历的数组"ABD##E#H##CF##G##"构建二叉树 // 二叉树销毁 // 二叉树节点个数 // 二叉树叶子节点个数 // 二叉树第k层节点个数 /…...

【Git】如何优雅地使用Git中的tag来管理项目版本

目录 tagtag 和 branch区别操作命令打tag,当前分支标记tag提交到远程服务器删除本地tag删除远程tag切换到特定的tag查看所有tag查看标签详细信息 好书推荐 tag Git中的tag(标签)用于给项目在特定时间点(某个版本发布)…...

白骑士的PyCharm教学进阶篇 2.3 测试与自动化

系列目录 上一篇:白骑士的PyCharm教学进阶篇 2.2 高级调试技术 在现代软件开发中,测试和自动化是保证代码质量和项目稳定性的重要环节。PyCharm作为一款强大的Python IDE,提供了丰富的工具来支持单元测试和自动化测试。本篇将详细介绍单元测…...

spark写入redis报错空指针

aused by: java.lang.NullPointerException 1、spark集群 每个executor是否 与redis集群 网络策略是否通 2、写入redis的数据是否 有 null值 需要把null值 转成空字符串 3、可以用 pipleline 并行写数据...

【Material-UI】Autocomplete中的禁用选项:Disabled options

文章目录 一、简介二、基本用法三、进阶用法1. 动态禁用2. 提示禁用原因3. 复杂的禁用条件 四、最佳实践1. 一致性2. 提供反馈3. 优化性能 五、总结 Material-UI的Autocomplete组件提供了丰富的功能,包括禁用特定选项的能力。这一特性对于限制用户选择、提供更好的用…...

力扣287【寻找重复数】

给定一个包含 n 1 个整数的数组 nums ,其数字都在 [1, n] 范围内(包括 1 和 n),可知至少存在一个重复的整数。 假设 nums 只有 一个重复的整数 ,返回 这个重复的数 。 你设计的解决方案必须 不修改 数组 nums 且只用常…...

学习笔记一

vector 在创建时指定初始大小和初始值&#xff1a; vector<int> a(5, 1) // 包含 5 个整数的 vector&#xff0c;每个值都为 1 可以使用 push_back 方法向 vector 中添加元素&#xff1a; a.push_back(7) // 将整数 7 添加到 vector 的末尾 可以使用 size(…...

星纪魅族双轮驱动遇阻:AI手机与造车梦能否照进现实?

在科技行业风起云涌的浪潮中&#xff0c;星纪魅族近期的一系列动作引起了广泛关注。从高层换血到全面押注AI&#xff0c;再到宣布造车计划&#xff0c;每一步都显得雄心勃勃&#xff0c;但深入剖析后不难发现&#xff0c;其未来发展之路实则布满荆棘。 星纪魅族选择“All in AI…...

深入理解 C 语言中的联合体

目录 引言 一、 联合体的定义与基本用法 1.联合体的定义 2.基本用法 二、 联合体与结构体的区别 1.结构体 2.联合体 3.对比 三、联合体的优势 1. 节省内存 2. 提高效率 3. 代码简洁性 四、联合体的存储细节 1.内存对齐 2.大小计算 五、联合体的高级用法 1.匿…...

Unity3D 物体圆周运动

Unity3D 实现一个 2D 物体沿着圆周进行运动。 物体圆周运动 前段时间在开发一个小游戏时&#xff0c;需要实现火箭沿着一个圆形轨道进行圆周运动。 以前面试的时候也被问到过这类问题&#xff08;如何让一个 2D 物体做圆周运动&#xff09;&#xff0c;所以还是记录一下实现…...

无人机无人车固态锂电池技术详解

随着无人机和无人车技术的飞速发展&#xff0c;对高性能、高安全性电池的需求日益迫切。固态锂电池作为下一代电池技术的代表&#xff0c;正逐步从实验室走向市场&#xff0c;为无人机和无人车等应用领域带来革命性的变化。相比传统液态锂电池&#xff0c;固态锂电池在能量密度…...

策略模式的一次应用

项目的需求是将一组图像按照相似度分类。 采用了模板匹配计算相似度的实现方式。 #include <opencv2/core.hpp> #include <openev2/core/utility.hpp> #include <opencv2/highqui.hpp> #include <openav2/imgproc.hpp> cv::Mat image matched; double …...

终极指南:3D 数据科学系统和工具

该蓝图分享了 AI 方法、算法、工具、模板和 6 步系统&#xff0c;用于为 3D 模型构建数据科学解决方案&#xff1a;3D 数据采集、分析、建模、可视化和部署。 ​ 3D 数据科学系统的核心组件和交叉学科 欢迎来到雲闪世界。建立 3D 数据科学项目涉及结合数据工程、数据分析和可视…...

Docker Container(容器)

一、概念 容器是镜像的运行实体。镜像是静态的只读文件&#xff0c;而容器带有运行时需要的可写文件层&#xff0c;并且容器中的进程属于运行状态。即容器运行着真正的应用进程。容器有初建、运行、停止、暂停和删除五种状态。 虽然容器的本质是主机上运行的一个进程&#xf…...

确保Apache Flink流处理的数据一致性和可靠性

Apache Flink是一个用于大规模数据流处理的开源框架&#xff0c;它提供了多种机制来保证在分布式环境中数据的一致性和可靠性。在实时流处理中&#xff0c;数据的一致性和可靠性是至关重要的&#xff0c;因为它们直接影响到数据处理结果的准确性和系统的稳定性。本文将详细介绍…...

MUSE Multi-View Contrastive Learningfor Heterophilic Graphs

发表于:CIKM 推荐指数: #paper/⭐ 一句话总结:融合了GCN(A,X)和GCN(A,I),创新性不足,因此只能B会 流程: 融合部分: h i f h i s λ i h i c h_i^fh_i^s\lambda_ih_i^c hif​his​λi​hic​ 由于有n个 λ \lambda λ.因此作者加了如下优化: L ϕ ∑ i 1 N λ i s ( h i …...

搭建pxe网络安装环境实现服务器自动部署

一&#xff1a;主机查看本地镜像挂载的位置 [rootnginx ~]# df [rootnginx ~]# cd /rhe17 [rootnginx rhe17]# ls [rootnginx rhe17]# cd isolinux/ [rootnginx isolinux]# ls文件内容指定了触法镜像&#xff0c;内核&#xff0c;显示界面等 二&#xff1a;通过网络将以上文件…...

在VScode中导入conda环境的记录【原创】

今天在vscode编辑器中运行一个python代码&#xff0c;发现终端可以运行&#xff0c;但是编辑器中点击Run会显示缺包&#xff0c;但是python包明明是有的&#xff0c;在自己的conda环境中。后来发现&#xff0c;是vscode没有发现我自己创建的conda环境&#xff0c;在vscode中导入…...

机器学习 第10章-降维与度量学习

机器学习 第10章-降维与度量学习 10.1 k近邻学习 k近邻(k-Nearest Neighbor,简称kNN)学习是一种常用的监督学习方法其工作机制非常简单:给定测试样本&#xff0c;基于某种距离度量找出训练集中与其最靠近的k个训练样本&#xff0c;然后基于这k个“邻居”的信息来进行预测。通…...

手机三要素接口怎么对接呢?(二)

一、什么是手机三要素&#xff1f; 手机三要素又叫运营商三要素&#xff0c;运营商实名认证&#xff0c;运营商实名核验&#xff0c;手机三要素实名验证&#xff0c;手机三要素实名核验&#xff0c;每个人的称呼都不同&#xff0c;但是入参和出参是一样的。 输入姓名、身份证…...

【Devops】CertD 完全免费、自动申请、自动部署SSL证书一站式管理工具 | 自动化HTTPS | 3个月SSL自动轮换

CertD CertD 是一个免费全自动申请和自动部署更新SSL证书的工具。 后缀D取自linux守护进程的命名风格&#xff0c;意为证书守护进程。 关键字&#xff1a;证书自动申请、证书自动更新、证书自动续期、证书自动续签 一、特性 本项目不仅支持证书申请过程自动化&#xff0c;还…...

高级Vue.js面试指南:关键概念、最佳实践和性能优化策略

目录 1. 什么是 Vue.js? 2. Vue的生命周期钩子是什么? 3. 计算属性和侦听器有什么区别? 4. 什么是虚拟DOM? 5. 解释 Vue 的响应式系统原理。 6. Vue中的v-if和v-show有什么区别? 7. 如何在 Vue 中使用路由? 8. 描述组件间的通信方式。 9. 什么是单文件组件? 10…...

MySQL基础练习题21-按日期分组销售产品

目录 题目 准备数据 分析数据 总结 题目 找出每个日期、销售的不同产品的数量及其名称。每个日期的销售产品名称应按词典序排列。 返回按 sell_date 排序的结果表。 准备数据 ## 创建库 create database db; use db;## 创建表 Create table If Not Exists Activities (s…...

oracle(19c)用户管理

简介 本文介绍 Oracle 中的用户管理&#xff0c;包含以下内容&#xff1a; 概念介绍 系统用户 解锁 hr 用户 创建用户 用户相关案例 使用 Profile 管理用户口令 Oracle 的认证方式 重置管理员(sys)密码 1. 概念介绍 使用前可以自行安装oracle数据库 oracle19c安装&a…...

数学建模--禁忌搜索

目录 算法基本原理 关键要素 应用实例 实现细节 python代码示例 总结 禁忌搜索算法在解决哪些具体类型的组合优化问题中最有效&#xff1f; 禁忌搜索算法的邻域结构设计有哪些最佳实践或案例研究&#xff1f; 如何动态更新禁忌表以提高禁忌搜索算法的效率和性能&#…...

RabbitMQ动态创建生产者动态创建消费者

生产者 controller package org.log.rabbitmqdemo1.demos.web.producer;import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController;import javax.annotation.Resource;RestController public class Produc…...

HTML-07.表格标签

一、要制作的表格如下 二、代码如下 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>表格标签<…...

[Git][分支管理][下]详细讲解

目录 1.合并冲突2.分支管理策略3.分支策略1.基本原则2.bug分支3.删除临时分支 1.合并冲突 在实际分⽀合并的时候&#xff0c;有时候可能会遇到代码冲突的问题&#xff0c;例如&#xff1a; dev分支在写一部分代码&#xff0c;而master分支也没闲着&#xff0c;也在写着同一份代…...

Python面试宝典第27题:全排列

题目 给定一个不含重复数字的数组nums&#xff0c;返回其所有可能的全排列 。备注&#xff1a;可以按任意顺序返回答案。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]] 示例 2&#xff1a; 输…...

C语言调试宏全面总结(六大板块)

C语言调试宏进阶篇&#xff1a;实用指南与案例解析C语言调试宏高级技巧与最佳实践C语言调试宏的深度探索与性能考量C语言调试宏在嵌入式系统中的应用与挑战C语言调试宏在多线程环境中的应用与策略C语言调试宏在并发编程中的高级应用 C语言调试宏进阶篇&#xff1a;实用指南与案…...

C++学习之路(1)— 第一个HelloWorld程序

C学习之路&#xff08;1&#xff09;— 第一个HelloWorld程序 一、前言 C在C语言的基础上添加了对面向对象编程和泛型编程的支持&#xff0c;在 20世纪90年代便是最重要的编程语言之一&#xff0c;并在21世纪仍保持强劲势头。C继承了C语言高效、简洁、快速和可移植性的传统。 …...

Ionic 滑动框:实现高效移动应用交互体验

Ionic 滑动框:实现高效移动应用交互体验 Ionic 是一个强大的开源框架,用于构建高性能、高质量的移动端和网页应用。它以其优雅的UI组件和强大的功能而闻名,其中滑动框(Slider)是Ionic UI组件库中的一个重要组成部分。滑动框提供了一种直观、互动的方式来展示图片、文本或…...

书生大模型实战营第三期——入门岛

第一关&#xff1a;Linux基础知识 任务如下&#xff1a; 任务描述闯关任务完成SSH连接与端口映射并运行hello_world.py可选任务 1将Linux基础命令在开发机上完成一遍可选任务 2使用 VSCODE 远程连接开发机并创建一个conda环境可选任务 3创建并运行test.sh文件 1. 使用密码进行…...

Android入门之路 - WebView加载数据的几种方式

之前客户端加载H5时遇到了一些问题&#xff0c;我为了方便解决问题&#xff0c;所以将对应场景复刻到了Demo中&#xff0c;从之前的网络加载模拟为了本地加载Html的方式&#xff0c;但是没想到无意被一个基础知识点卡了一些时间&#xff0c;翻看往昔笔记发现未曾记录这种基础场…...

git的rebase 和 merge 的区别

rebase 和 merge 的区别 Merge&#xff08;合并&#xff09;和 Rebase&#xff08;变基&#xff09;是 Git 中两种常用的分支整合方式&#xff0c;它们有不同的工作原理和适用场景&#xff1a; Merge&#xff08;合并&#xff09;&#xff1a; ● Merge 操作将两个分支的不同提…...

科普文:JUC系列之Java中7种阻塞队列BlockingQueue的双锁源码解读

概叙 Queue接口与List、Set同一级别&#xff0c;都是继承了Collection接口**。队列是一种数据结构&#xff0e;它有两个基本操作&#xff1a;在队列尾部加人一个元素&#xff0c;和从队列头部移除一个元素&#xff0c;队列以一种先进先出的方式管理数据。 队列分为两种&#x…...

Kafka生产者(二)

1、生产者消息发送流程 1.1 发送原理 在消息发送的过程中&#xff0c;涉及到了两个线程——main 线程和 Sender 线程。在 main 线程中创建了一个双端队列 RecordAccumulator。main 线程将消息发送给 RecordAccumulator&#xff0c;Sender 线程不断从 RecordAccumulator 中拉取…...

ReentrantLock源码分析

文章目录 一、AQS1、state属性2、等待队列3、条件变量 二、ReentrantLock1、非公平锁实现原理1.1 获取锁1.2 释放锁1.3 可重入原理1.4 可打断原理不可打断可打断 1.5 公平锁实现原理1.6 条件变量原理awaitsignal 一、AQS AQS全称是 AbstractQueuedSynchronizer&#xff0c;是阻…...

(四十一)大数据实战——spark的yarn模式生产环境部署

前言 Spark 是一个开源的分布式计算系统。它提供了高效的数据处理能力&#xff0c;支持复杂的数据分析和处理任务&#xff0c;是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。Spark Core&#xff1a;实现了Spark的基本功能&#xff0c;包含任务调度、内存管理、错误…...

反转链表 II(LeetCode)

题目 给你单链表的头指针 和两个整数 和 &#xff0c;其中 。请你反转从位置 到位置 的链表节点&#xff0c;返回 反转后的链表 。 解题 class ListNode:def __init__(self, value0, nextNone):self.value valueself.next nextdef reverseBetween(head: ListNode, lef…...

Spring Boot 整合 Dubbo3 + Nacos 2.4.0

准备工作&#xff1a;Nacos 一、前置工作 安装Nacos&#xff0c;参考&#xff1a;Nacos 快速开始 此次安装 Nacos 最新版本&#xff1a;2.4.0 单机版 安装教程&#xff1a;Linux 安装 nacos 2.4.0-CSDN博客 二、创建配置文件 创建命名空间 新增配置文件 dubbo:application:i…...

力扣-200.岛屿数量

刷力扣热题–第二十四天:200.岛屿数量 新手第二十四天 奋战敲代码&#xff0c;持之以恒&#xff0c;见证成长 1.题目描述 2.题目解答 这道题刚开始想的确实想的绞尽脑汁的&#xff0c;看了相关解答才明白的&#xff0c;三种方法&#xff0c;这里想先用两种方法进行实现&#…...

学习 MediaPipe 手部检测和手势识别

学习 MediaPipe 手部检测和手势识别 1 手部检测1.0 Demo1.1 mediapipe.solutions.hands.Hands1.1.1 Hands 初始化1.1.2 process 检测 1 手部检测 1.0 Demo import time import cv2 import mediapipe as mpmpHands mp.solutions.hands hands mpHands.Hands(model_complexity…...

TypeScript 接口

TypeScript的核心原则之一是对值所具有的结构进行类型检查。 它有时被称做“鸭式辨型法”或“结构性子类型化”。即如果一个东西走起来像鸭子、叫起来像鸭子&#xff0c;那它就是鸭子。 通过定义接口&#xff0c;为特定的结构赋予了一个明确的名称和规范。 在 TypeScript 中&a…...

基于JSP、java、Tomcat三者的项目实战--校园交易网(3)主页--添加商品功能

技术支持&#xff1a;JAVA、JSP 服务器&#xff1a;TOMCAT 7.0.86 编程软件&#xff1a;IntelliJ IDEA 2021.1.3 x64 前文三篇登录和注册功能的实现 基于JSP、java、Tomcat、mysql三层交互的项目实战--校园交易网&#xff08;1&#xff09;-项目搭建&#xff08;前期准备工作…...

自定义SQL Server数据访问层:打造专属数据交互之门

自定义SQL Server数据访问层&#xff1a;打造专属数据交互之门 在软件开发中&#xff0c;数据访问层&#xff08;Data Access Layer, DAL&#xff09;扮演着至关重要的角色&#xff0c;它作为应用程序与数据库之间的桥梁&#xff0c;负责所有的数据存取操作。SQL Server作为一…...

【课程总结】Day15(中):图像分割之实例分割

前言 在上一章&#xff0c;我们通过学习了解了语义分割以及U-Net网络结构【课程总结】Day15&#xff08;上&#xff09;&#xff1a;图像分割之语义分割。在本章&#xff0c;我们将学习了解图像分割中的实例分割以及相关的数据预处理注意事项。 图像分割 语义分割 语义分割…...

【Linux】常见指令

目录 一、指令的理解二、Linux的目录结构三、XShell 下的热键三、shell命令以及运行原理四、Linux常见的指令汇总1. ls 指令1.1 常见的一些有关 ls 的别名1.2 隐藏文件或目录1.3 * 的匹配 2. pwd 指令3. cd 指令3.1 cd . . 指令 4. touch指令5. mkdir指令6. rmdir指令 &&am…...

6楼业主称装修了2年发现装成8楼 乌龙事件引邻里热议

6楼业主称装修了2年发现装成8楼在城市的一隅,一场令人啼笑皆非的装修乌龙事件悄然上演,不仅考验着业主的耐心与智慧,更成为邻里间茶余饭后的谈资。这起事件如同一部充满戏剧性的生活短片,让人不禁感叹世事无常。故事发生在某繁华都市的一个中等规模小区内,这里环境优美,交…...

警方披露游戏代练洗劫装备案 代练盗卖获利终落网

听说过“代练”吗?代练指的是在网络游戏中以收费方式帮人练级的行为。应某是一名职业代练玩家,他通过代打游戏挣钱,但后来找到了另一条“生财之路”,最终赚了近2万元,却引来了民警上门。11月14日,浙江庆元警方披露了这起刚刚侦破的案件。应某大学毕业后一直无业在家,平时…...

被抢3吨黄金的紫金矿业是什么公司?

近日,有媒体报道称紫金矿业在哥伦比亚的武里蒂卡金矿遭到掠夺,损失超过3吨黄金。对此,紫金矿业回应称,自2020年3月收购大陆黄金后,公司一直致力于维持该金矿的安全,并与哥伦比亚政府签署了安全保卫协议。然而,自2022年下半年新一届政府上台以来,矿区安全形势显著恶化,…...

逛航展治好我多年的颈椎病 精彩表演引瞩目

逛航展治好我多年的颈椎病珠海航展作为世界五大航展之一,具有重要地位。每届航展都吸引着来自全球各地的关注,参展国家和地区数量逐年增加,从最初的25个国家和地区、400多家航空航天厂商参展,发展到现在有47个国家和地区、超过890家企业参展。航展期间,各种先进的飞机、装…...

全红婵归队首要任务:减重 迎接成长挑战

巴黎奥运会结束两个月后,中国跳水队再次集结。全红婵归队后的首要任务是降体重。这位17岁的青春期少女还面临着更多成长的挑战。在《五环之约》节目中,她分享了对天赋、胜败和成长的看法,以及年少成名的感受。责任编辑:张小花 TT1000...

李佩霞受贿案一审被判三年 非法收受165万元

2024年11月14日,横峰县人民法院对万年县上坊乡原党委书记李佩霞受贿案进行一审公开宣判。法院判处李佩霞有期徒刑三年,并处罚金人民币20万元,同时追缴其受贿所得财物,上缴国库。经审理查明,从2019年4月至2024年2月,李佩霞利用担任万年县上坊乡党委书记的职务便利,在工程…...