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

005-获取内存占用率

获取内存占用率

windows平台

在Windows环境下使用C++获取内存占用率,可以通过以下两种方式实现,分别针对系统整体和特定进程的内存监控:

一、获取系统整体内存占用率

核心函数:GlobalMemoryStatusEx
步骤:

  • 定义MEMORYSTATUSEX结构体并初始化dwLength字段
  • 调用函数获取内存信息
  • 通过dwMemoryLoad字段直接获取内存占用率百分比
#include <windows.h>MEMORYSTATUSEX memInfo;
memInfo.dwLength  = sizeof(memInfo);
GlobalMemoryStatusEx(&memInfo);DWORD memoryUsage = memInfo.dwMemoryLoad;  // 内存占用率百分比

二、获取特定进程内存占用

核心函数:GetProcessMemoryInfo

步骤:

  • 获取目标进程句柄(如当前进程用GetCurrentProcess())
  • 定义PROCESS_MEMORY_COUNTERS结构体
  • 调用函数获取内存信息
#include <windows.h>
#include <psapi.h>PROCESS_MEMORY_COUNTERS pmc;
if (GetProcessMemoryInfo(GetCurrentProcess(), &pmc, sizeof(pmc))) {SIZE_T usedMem = pmc.WorkingSetSize; // 进程占用的物理内存SIZE_T totalMem = /* 总内存需通过GlobalMemoryStatusEx获取 */;double ratio = (usedMem * 100.0) / totalMem; // 计算占用率
}

三、关键注意事项

结构体初始化:
使用MEMORYSTATUSEX或PROCESS_MEMORY_COUNTERS时,必须正确初始化dwLength字段,否则函数调用失败。

权限问题:
访问其他进程内存需PROCESS_QUERY_INFORMATION和PROCESS_VM_READ权限,可通过OpenProcess函数获取。

四、扩展应用场景

  • 实时监控:结合定时器定期调用上述函数,实现动态内存监控界面
  • 性能分析:与CPU占用率(GetSystemTimes)、磁盘I/O等指标结合,构建完整的资源监控系统
  • 服务端优化:通过内存占用率数据调整服务资源分配策略

linux平台

在Linux环境下使用C++获取内存占用率,主要通过读取系统文件或调用系统接口实现。以下是几种常用方法及实现示例:

方法一:解析 /proc/meminfo 文件

系统内存信息存储在 /proc/meminfo 中,通过解析该文件获取内存总量和空闲量:

#include <fstream>
#include <string>
#include <unordered_map>float get_memory_usage() {std::ifstream meminfo("/proc/meminfo");std::unordered_map<std::string, long> mem_data;std::string key;long value;while (meminfo >> key >> value) {meminfo.ignore(256,  '\n'); // 跳过单位(如 kB)mem_data[key] = value;}long total = mem_data["MemTotal:"];long available = mem_data["MemAvailable:"]; // 若系统不支持 MemAvailable,可用 MemFree + Buffers + Cached 替代long used = total - available;return (used * 100.0) / total;
}

说明:

MemAvailable 是更准确的可用内存指标(需内核3.14+),否则需计算 MemFree + Buffers + Cached 。
单位为 KB,计算时无需转换。

方法二:使用 sysinfo() 系统调用

通过 sysinfo 函数直接获取内存信息:

#include <sys/sysinfo.h>float get_memory_usage() {struct sysinfo info;sysinfo(&info);long total = info.totalram  * info.mem_unit; long free = info.freeram  * info.mem_unit; long used = total - free;return (used * 100.0) / total;
}

说明:

  • sysinfo() 提供更直接的系统内存统计,无需文件解析 。
  • mem_unit 是内存单位(通常为字节),需手动计算总内存和空闲内存。
  • 扩展:获取进程内存占用(物理内存)
  • 若需获取特定进程的内存占用,可解析 /proc/[pid]/status:
#include <fstream>
#include <string>long get_process_memory(int pid) {std::ifstream status("/proc/" + std::to_string(pid) + "/status");std::string line;while (std::getline(status, line)) {if (line.find("VmRSS")  != std::string::npos) { // 物理内存占用long mem_kb;sscanf(line.c_str(), "VmRSS: %ld kB", &mem_kb);return mem_kb * 1024; // 转换为字节}}return -1;
}

说明:

VmRSS 表示进程实际使用的物理内存 。
单位为 KB,需转换为字节。
注意事项

  • 权限问题:需确保程序有权限读取 /proc 目录下的文件。
  • 实时性:/proc/meminfo 和 sysinfo() 的数据是动态更新的。
  • 单位转换:不同方法可能涉及 KB 或字节单位,需统一计算。

macOS平台

在 macOS 环境下通过 C++ 获取内存占用率,需要结合系统级 API 和 Mach 内核接口。以下是具体实现方法及核心知识点总结:

一、系统整体内存占用率

实现原理

  • 通过 sysctl 和 host_statistics 接口获取物理内存总量和已使用量:
#include <mach/mach_host.h>
#include <sys/sysctl.h>// 获取物理内存总量
uint64_t get_total_memory() {int mib[2]()  = {CTL_HW, HW_MEMSIZE};uint64_t total_mem = 0;size_t len = sizeof(total_mem);sysctl(mib, 2, &total_mem, &len, NULL, 0);return total_mem;
}// 计算内存占用率
float get_memory_usage() {vm_size_t page_size;mach_port_t host_port = mach_host_self();mach_msg_type_number_t host_size = sizeof(vm_statistics_data_t) / sizeof(integer_t);vm_statistics_data_t vm_stat;host_page_size(host_port, &page_size);host_statistics(host_port, HOST_VM_INFO, (host_info_t)&vm_stat, &host_size);uint64_t total_mem = get_total_memory();uint64_t used_mem = (vm_stat.active_count  + vm_stat.wire_count)  * page_size;return (float)used_mem / total_mem * 100.0f;
}

二、进程级内存占用

实现原理

  • 通过 Mach 任务接口获取进程的驻留内存(RSS):
#include <mach/mach_init.h>
#include <mach/task.h>size_t get_process_memory_usage() {task_t task = mach_task_self();struct mach_task_basic_info info;mach_msg_type_number_t count = MACH_TASK_BASIC_INFO_COUNT;if (task_info(task, MACH_TASK_BASIC_INFO, (task_info_t)&info, &count) == KERN_SUCCESS) {return info.resident_size;  // 返回单位为字节}return 0;
}

三、关键知识点

  • Mach 内核接口
    macOS 内存管理基于 Mach 微内核,需使用 mach_host.h 和 mach/task.h 中的函数获取内存统计信息 。

  • 内存计算逻辑
    系统内存占用率 = (活跃内存 + 固定内存) / 总物理内存。活跃内存(active_count)和固定内存(wire_count)反映当前使用状态 。

  • 性能优化
    频繁调用 host_statistics 可能影响性能,建议间隔 1-2 秒采样一次 。

四、扩展应用场景

  • 系统监控工具:实时显示内存曲线(参考 的 QT 实现)
  • 性能分析:结合 CPU 占用率监控(需使用 host_processor_info 接口)
  • 自动化测试:记录内存泄漏数据(长期监控进程 RSS 变化)

完整代码

Github

作者郑天佐
邮箱zhengtianzuo06@163.com
主页http://www.zhengtianzuo.com
githubhttps://github.com/zhengtianzuo

相关文章:

005-获取内存占用率

获取内存占用率 windows平台 在Windows环境下使用C获取内存占用率&#xff0c;可以通过以下两种方式实现&#xff0c;分别针对系统整体和特定进程的内存监控&#xff1a; 一、获取系统整体内存占用率 核心函数&#xff1a;GlobalMemoryStatusEx 步骤&#xff1a; 定义MEMOR…...

python从入门到精通(二十二):python文件操作之Excel全攻略(基于pandas)

Python处理表格数据 1.表格的基础知识1.1 xls与xlsx格式详解1.2 表格内部结构的认识 2.表格的基础操作2.1 认识表格的基本库2.1.1 csv内置的标准库2.1.2 xlrd 和 xlwt2.1.3 openpyxl2.1.4 pandas 2.2 安装和环境配置2.3 xlrd 和 xlwt2.3.1 库的说明2.3.2 安装xlrd库2.3.3 导入模…...

html常用标签

文章说明 本文旨在总结 HTML 中常见的标签&#xff0c;并提供简洁的解释&#xff0c;方便大家快速查找和复习。我们假设读者已经具备一定的 HTML 基础知识。本文将持续更新和完善&#xff0c;欢迎大家参与续写和补充 一、 HTML 标签 整个网页从 <html> 开始到 </html…...

ROS分布式部署通信

目录 一、概念 二、设置 ROS 分布式网络 1. 环境要求 2. 主机&#xff08;Master&#xff09;设置 3. 从机&#xff08;节点设备&#xff09;设置 4. 测试是否正常通信 三、进阶启动多从机节点&#xff08;launch&#xff09;。 一、概念 ROS 分布式通信用于在多台计算机…...

.Net 6 上传文件接口 文件大小报错整体配置

/// <summary>/// 上传文件/// </summary>/// <param name"file"></param>/// <returns></returns>[HttpPost("UploadifyFile")][RequestSizeLimit(2000 * 1024 * 1024)] // 设置最大请求体大小为 100MBpublic async …...

12.【线性代数】——图和网络

十二 图和网络&#xff08;线性代数的应用&#xff09; 图 g r a p h { n o d e s , e d g e s } graph\{nodes, edges\} graph{nodes,edges}1.关联矩阵2. A A A矩阵的零空间&#xff0c;求解 A x 0 Ax0 Ax0 电势3. A T A^T AT矩阵的零空间&#xff0c;电流总结电流图结论 …...

游戏引擎学习第145天

仓库:https://gitee.com/mrxiao_com/2d_game_3 今天的计划 目前&#xff0c;我们正在完成遗留的工作。当时我们已经将声音混合器&#xff08;sound mixer&#xff09;集成到了 SIMD 中&#xff0c;但由于一个小插曲&#xff0c;没有及时完成循环内部的部分。这个小插曲主要是…...

Linux(Centos 7.6)命令详解:zip

1.命令作用 打包和压缩(存档)文件(package and compress (archive) files)&#xff1b;该程序用于打包一组文件进行分发&#xff1b;存档文件&#xff1b;通过临时压缩未使用的文件或目录来节省磁盘空间&#xff1b;且压缩文件可以在Linux、Windows 和 macOS中轻松提取。 2.命…...

23年以后版本pycharm找不到conda可执行文件解决办法

这个问题很痛苦&#xff0c;折磨了我半天。 就是链接远程服务器的时候 就一直以为这三个都要配置 就这个conda环境这里怎么都找不到服务器的虚拟环境的python可执行文件&#xff0c;非常痛苦。 后面查找了资料&#xff0c;找了好久&#xff0c;才发现&#xff0c;原来只需要配…...

AGI(Artificial General Intelligence,通用人工智能)技术介绍

文章目录 **AGI的关键特点**1. **泛化能力**&#xff1a;2. **自主性和适应性**&#xff1a;3. **自我意识与推理**&#xff1a; **与当前AI的区别****AGI的挑战**1. **技术难点**&#xff1a;2. **伦理与安全**&#xff1a;3. **资源与算力**&#xff1a; **AGI的实现路径**- …...

createrepo centos通过nginx搭建本地源

yum update 先安装一个nginx。 安装Nginx yum install gcc gcc-c pcre pcre-devel openssl openssl-devel libtool zlib zlib-devel -y cd /usr/local/src wget http://nginx.org/download/nginx-1.22.0.tar.gz tar -zxvf nginx-1.22.0.tar.gz cd nginx-1.22.0 ./configu…...

279.完全平方数

279.完全平方数 力扣题目链接(opens new window) 给定正整数 n&#xff0c;找到若干个完全平方数&#xff08;比如 1, 4, 9, 16, ...&#xff09;使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。 给你一个整数 n &#xff0c;返回和为 n 的完全平方数的 最少数…...

Dify部署踩坑指南(Windows+Mac)

组件说明 Dify踩坑及解决方案 ⚠️ 除了修改镜像版本&#xff0c;nginx端口不要直接修改docker-compose.yaml &#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 1、更换镜像版本 这个文件是由.env自动生成的&#xff0c;在.env配置 …...

备赛蓝桥杯之第十五届职业院校组省赛第六题:简易JSX解析器

提示&#xff1a;本篇文章仅仅是作者自己目前在备赛蓝桥杯中&#xff0c;自己学习与刷题的学习笔记&#xff0c;写的不好&#xff0c;欢迎大家批评与建议 由于个别题目代码量与题目量偏大&#xff0c;请大家自己去蓝桥杯官网【连接高校和企业 - 蓝桥云课】去寻找原题&#xff0…...

深入解析ECDSA与RSA公钥算法:原理、对比及AWS最佳实践

一、公钥加密算法概述 在HTTPS通信和数字证书领域,ECDSA(椭圆曲线数字签名算法)和RSA(Rivest-Shamir-Adleman)是最主流的两种非对称加密算法。它们共同构成了现代网络安全的基础,但设计理念和技术实现存在显著差异。 © ivwdcwso (ID: u012172506) 二、RSA算法详解…...

单例设计模式---懒汉式--线程安全和不安全、枚举类

单例设计模式—懒汉式–线程安全和不安全 优点 资源利用率高&#xff1a;只有在真正需要使用单例实例时才进行创建&#xff0c;避免了在应用启动时就占用不必要的资源。 缺点 线程安全问题&#xff1a;在多线程环境下&#xff0c;如果多个线程同时调用获取实例的方法&#xff…...

c++: 容器vector

文章目录 介绍initializer_list与string的不同底层总代码 介绍 C 中的 vector 是一种序列容器&#xff0c;它允许你在运行时动态地插入和删除元素。 vector 是基于数组的数据结构&#xff0c;但它可以自动管理内存&#xff0c;这意味着你不需要手动分配和释放内存。 与 C 数组相…...

肖恩的n次根

1.肖恩的n次根 - 蓝桥云课 问题描述 喜欢研究数学问题的肖恩注意到&#xff0c;在编程语言中通常内置函数只有开平方根和开立方根&#xff0c;但是肖思想知道开高次方根&#xff08;大于3次方称为高次方&#xff09;&#xff0c;应该怎么做。请你设计一个程序来帮帮肖恩。 输…...

Java直通车系列15【Spring MVC】(ModelAndView 使用)

目录 1. ModelAndView 概述 2. ModelAndView 的主要属性和方法 主要属性 主要方法 3. 场景示例 示例 1&#xff1a;简单的 ModelAndView 使用 示例 2&#xff1a;使用 ModelAndView 处理列表数据 示例 3&#xff1a;使用 ModelAndView 处理异常情况 1. ModelAndView 概…...

LeetCode和为k的字数组(560题)

题目展示 给你一个整数数组 nums 和一个整数 k &#xff0c;请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 示例 1&#xff1a; 输入&#xff1a;nums [1,1,1], k 2 输出&#xff1a;2示例 2&#xff1a; 输入&#xff1a;nums …...

消息队列为什么会有消费组的概念,什么作用,以订单系统为例说明

消息队列中的消费组&#xff08;Consumer Group&#xff09;概念是为了实现消息的并行处理和负载均衡。在分布式系统中&#xff0c;消费组允许多个消费者实例共同消费同一个主题&#xff08;Topic&#xff09;中的消息&#xff0c;从而提高消息处理的速度和系统的吞吐量。 消费…...

数据结构--AVL树

一、二叉搜索树&#xff08;Binary Search Tree, BST&#xff09; 基本性质 对于树中的每个节点&#xff0c;其左子树中的所有节点值均小于该节点值。其右子树中的所有节点值均大于该节点值。左右子树也分别是二叉搜索树。 极端场景 在极端情况下&#xff0c;如插入节点顺序…...

OpenManus 的提示词

OpenManus 的提示词 引言英文提示词的详细内容工具集的详细说明中文翻译的详细内容GitHub 仓库信息背景分析总结 引言 OpenManus 是一个全能 AI 助手&#xff0c;旨在通过多种工具高效地完成用户提出的各种任务&#xff0c;包括编程、信息检索、文件处理和网页浏览等。其系统提…...

达梦数据库在Linux,信创云 安装,备份,还原

&#xff08;一&#xff09;系统环境检查 1操作系统&#xff1a;确认使用的是国产麒麟操作系统&#xff0c;检查系统版本是否兼容达梦数据库 V8。可以通过以下命令查看系统版本&#xff1a; cat /etc/os-release 2硬件资源&#xff1a;确保服务器具备足够的硬件资源&#xff0…...

怎么使用Sam Helper修改手机屏幕分辨率,使得游戏视野变广?

1.准备Shizuku 和Sam Helper软件 2.打开设置&#xff0c;找到关于本机&#xff0c;连续点击版本号五次打开开发者选项 3.找到开发者选项&#xff0c;打开USB调试和无线调试 4.返回桌面&#xff0c;我们接着打开shizuku,点击配对&#xff0c;这里打开开发者选项&#xff0c;找…...

Unity DOTS 从入门到精通之 创建实体

文章目录 前言安装 DOTS 包创建实体1.手动创建空实体&#xff08;适用于运行时动态创建&#xff09;2.克隆 预制体&#xff08;主线程同步操作&#xff09;3.克隆 预制体&#xff08;兼容Job System&#xff09;4.通过 GameObject 转换&#xff08;Baker方式&#xff09; 其他E…...

【OA角色数据权限】自定数据权限(自定义部门)、本部门数据权限、本部门及以下数据权限、仅本人数据权限

文章目录 引言I 表设计部门表设计角色表设计II 数据过滤处理注解参数说明数据权限使用数据过滤处理切面 DataScopeAspectQuery 基类知识扩展引言 I 表设计 部门表设计 部门表采用部门路径反应祖先层级关系(包含自己部门的ID) 查询用户所在的本部门及其对应的下级部门:采用…...

记录小白使用 Cursor 开发第一个微信小程序(一):注册账号及下载工具(250308)

文章目录 记录小白使用 Cursor 开发第一个微信小程序&#xff08;一&#xff09;&#xff1a;注册账号及下载工具&#xff08;250308&#xff09;一、微信小程序注册摘要1.1 注册流程要点 二、小程序发布流程三、下载工具 记录小白使用 Cursor 开发第一个微信小程序&#xff08…...

STM32旋转编码器驱动详解:方向判断、卡死处理与代码分析 | 零基础入门STM32第四十八步

主题内容教学目的/扩展视频旋转编码器电路原理&#xff0c;跳线设置&#xff0c;结构分析。驱动程序与调用。熟悉电路和驱动程序。 师从洋桃电子&#xff0c;杜洋老师 &#x1f4d1;文章目录 一、旋转编码器原理与驱动结构1.1 旋转编码器工作原理1.2 驱动程序结构 二、方向判断…...

海思Hi3516DV00移植yolov5-7.0的模型转化流程说明

一、YOLOv5 YOLOv5作为单阶段检测框架的集大成者&#xff0c;凭借其卓越的实时性、高精度和易用性&#xff0c;已成为工业界实际部署的首选方案。yolov5的最新版本是7.0&#xff0c;该版本是官方最后更新的一个版本。yolov5-7.0 工程化实现卓越&#xff1a;基于PyTorch框架构…...

C++ string类(前)

目录 一、前言 二、正文 1.1什么是string类 1.2为什么学习string类 1.3string使用注意 1.4 string 类常用接口说明 1.4.1string类对象的常见构造 1.4.2string类对象的容量操作 1.4.3 string 类对象的访问以及遍历操作 1.4.4 string 类对象的修改操作 三、结言 一、前…...

MySQL---INSERT语句、UPDATE语句、DELETE语句

目录 INSERT语句-插入 1.格式 2.操作 UPDATE语句-修改 1.格式 2.操作 DELETE语句-删除 1.格式 2.操作 INSERT语句-插入 1.格式 格式: insert into 表名 values (value1,value2,.....) 1. value后的内容&#xff1a;与表字段匹配的数据&#xff0c;如果字段为主键&…...

vuejs 模板语法、条件渲染、v-for、事件处理、表单输入绑定

创建vue项目之后我们就可以开始写代码了&#xff0c;我们的代码一般都会写在src目录-components目录-HelloWord.vue文件内。 我们之前写的HTML文件的结构是HTML代码可以集成或者连接外部的css/js文件。 我们通过vue建立的项目&#xff0c;它的结构是在一个vue文件内集成了HTML…...

Mysql中的常用函数

1、datediff(date1,date2) date1减去date2&#xff0c;返回两个日期之间的天数。 SELECT DATEDIFF(2008-11-30,2008-11-29) AS DiffDate -- 返回1 SELECT DATEDIFF(2008-11-29,2008-11-30) AS DiffDate -- 返回-1 2、char_length(s) 返回字符串 s 的字符数 3、round(x,d)…...

使用JMeter(组件详细介绍+使用方式及步骤)

JSON操作符 在我们使用请求时,经常会遇到JSON格式的请求体,所以在介绍组件之前我会将介绍部分操作符,在进行操作时是很重要的 Operator Description $ 表示根元素 当前元素 * 通配符,所有节点 .. 选择所有符合条件的节点 .name 子元素,name是子元素名称 [start:e…...

【大模型聊天】实时交互技术选型

在Python开发中&#xff0c;实现RAG问答或大模型聊天功能无需强制使用WebSocket&#xff0c;技术选型需结合实时性需求与交互场景。以下是技术分析及示例&#xff1a; 技术方案对比 技术适用场景优缺点WebSocket双向高频交互&#xff08;如实时对话&#xff09;优点&#xff1…...

计算机网络:计算机网络的概念

1.计算机网络&#xff1a;由若干个结点和链接这些的链路组成。 2.集线器&#xff08;Hub&#xff09;&#xff1a;可以把多个结点连接起来&#xff0c;组成一个计算机网络。 不能避免数据冲突的情况 3.交换机&#xff08;Switch&#xff09;:可以把多个结点连接起来&#x…...

Trae:引领未来的 AI 编程新时代

目录 Trae&#xff1a;引领未来的 AI 编程新时代 更快、更好、更准确的 AI IDE 无缝协作&#xff0c;AI 赋能开发者 Builder 模式&#xff1a;从 0 到 1 的智能助力 深度上下文理解&#xff0c;精准满足开发需求 实时代码补全&#xff0c;极致提升开发效率 智能 AI 协作…...

Vue _总结

文章目录 一 Vue介绍1 什么是Vue.js2 MVVM二 第一个例子1 引入vue2 html中用法3 创建vue实例对象三 Vue基本语法1 v-text2 v-bind3 v-on4 v-model5 v-if6 v-for7 计算属性8 组件化全局注册本地注册9 生命周期10 员工程序使用vue.js重构list.htmladd.htmlupdate.html四 使用vue-…...

Refreshtoken 前端 安全 前端安全方面

网络安全 前端不需要过硬的网络安全方面的知识,但是能够了解大多数的网络安全,并且可以进行简单的防御前两三个是需要的 介绍一下常见的安全问题,解决方式,和小的Demo,希望大家喜欢 网络安全汇总 XSSCSRF点击劫持SQL注入OS注入请求劫持DDOS 在我看来,前端可以了解并且防御前…...

基于深度学习的医学图像分割算法研究——结合MRI/CT图像的肿瘤区域自动分割与三维重建

针对课题《基于深度学习的医学图像分割算法研究——结合MRI/CT图像的肿瘤区域自动分割与三维重建》,以下是详细的研究框架与技术实现方案: 1. 核心研究要点 主要目标:构建端到端的深度学习模型,实现MRI/CT肿瘤区域的精准分割,并通过三维可视化支持临床诊断。核心挑战: 医…...

企业如何选择研发项目进度管理软件?盘点15款实用工具

这篇文章介绍了以下工具: 1. PingCode&#xff1b; 2. Worktile&#xff1b; 3. 腾讯 TAPD&#xff1b; 4. 华为 DevCloud&#xff1b; 5. 亿方云&#xff1b; 6. 阿里云效&#xff1b; 7. CODING 码云&#xff1b; 8. 明道云&#xff1b; 9. 进度猫&#xff1b; 10. 轻流等。 …...

【2024_CUMCM】图论模型

基本概念 注&#xff1a;以下叙述大多是自话&#xff0c;夹杂多数不专业表述 点集、边集 图论中图是由点和边组成的 G(V,E) V--点集 E--边集 权 G(V,E,W) W--权 一般都有权&#xff0c;构成赋权图 赋权图 在图中每条边都赋予一个非负实数权重的图&#xff0c;就是给每一条…...

Unity UGUI下优化需要射线检测类的UI元素的一种方式

直接上脚本 - 原理探究 先看MaskableGraphic 可以看到继承了Graphic&#xff0c;继续深入 在构造函数中找到了useLegacyMeshGeneration 而useLegacyMeshGeneration用来判断是否使用旧的网格生成系统&#xff0c;这里我们使用新的 在这个方法中&#xff0c;Graphic默认通过…...

unity3d 背景是桌面3d数字人,前面是web的表单

是可以实现的&#xff0c;但涉及多个技术栈的结合&#xff0c;包括 Unity3D、Web 技术&#xff08;HTML、JavaScript&#xff09;、以及可能的 WebGL 或 WebRTC 技术。大致有以下几种实现方案&#xff1a; 方案 1&#xff1a;Unity 作为独立应用&#xff08;桌面端&#xff0…...

一周热点-Claude 3.7 Sonnet-在响应和思考模型之间切换

Anthropic 最近发布了 Claude 3.7 Sonnet,这是一款具有混合推理能力的模型,允许用户在即时响应和扩展思考模式之间切换,以适应不同类型的任务需求。以下是关于 Claude 3.7 Sonnet 的详细介绍: 1 混合推理模式 标准模式:快速生成响应,适合日常对话和简单任务,能在短时间内…...

【大模型安全】安全解决方案

【大模型安全】安全解决方案 1.技术层面2.数据层面数据收集阶段训练阶段模型推理阶段 1.技术层面 在使用大语言模型时&#xff0c;通常有几种选择&#xff1a;一种是采用封装好的大语言模型SaaS云服务&#xff1b;另一种是在公有云上部署自有的大语言模型&#xff0c;并通过权…...

Clion快捷键、修改字体

文章目录 一、Clion快捷键1.撤销&#xff1a;crtl Z2.重做&#xff1a;crtl shift Z3.删除该行&#xff1a;crtl Y4.多行后退&#xff1a;选中多行 Tab5.多行缩进&#xff1a;选中多行 shift Tab 二、修改注释的斜体 一、Clion快捷键 1.撤销&#xff1a;crtl Z 2.重做…...

软件工程笔记下

从程序到软件☆ 章节 知识点 概论☆ 软件的定义&#xff0c;特点&#xff0c;生存周期。软件工程的概论。软件危机。 1.☆软件&#xff1a;软件程序数据文档 &#xff08;1&#xff09;软件&#xff1a;是指在计算机系统的支持下&#xff0c;能够完成特定功能与性能的包括…...

探索DeepSeek:牛仔技术的未来在哪里?

引言 在当今快速发展的科技世界中&#xff0c;DeepSeek作为一种前沿技术&#xff0c;正逐渐改变我们对信息搜索和数据处理的认知。本文将深入探讨DeepSeek技术的核心优势、应用场景以及未来发展趋势&#xff0c;带您全面了解这一技术的魅力所在。 一、DeepSeek技术简介 1.1 什…...