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

内存管理(Linux程序设计)

内存管理

目录

内存管理

一.简单的内存分配

代码功能概述

代码流程图

变量声明

动态内存分配

内存分配错误检查

向内存写入字符串

设置退出状态并退出程序

二.请求全部的物理内存

代码功能概述

变量声明

三..可用内存

四.滥用内存

1.代码功能(预期 vs 实际)


一.简单的内存分配

代码功能概述
  1. 分配 1MB 内存:使用 malloc 动态申请一块 1MB 大小的内存空间。

  2. 写入字符串:通过 sprintf 向分配的内存中写入 "Hello World\n"。

  3. 输出内容:使用 printf 打印内存中的字符串。

  4. 错误处理:检查内存分配是否成功,根据结果设置程序退出状态。

代码流程图
开始
├─ 分配 1MB 内存
│  ├─ 成功 → 写入 "Hello World\n" → 打印内容 → 退出状态设为成功
│  └─ 失败 → 跳过操作,保持退出状态为失败
└─ 退出程序(返回 exit_code)
#include <unistd.h>  // 包含 Unix 系统相关函数(此处未实际使用,可能为冗余包含)
#include <stdlib.h>  // 包含内存分配(malloc)、程序退出(exit)等函数
#include <stdio.h>   // 包含输入输出函数(printf、sprintf)#define A_MEGABYTE (1024 * 1024)  //宏定义,1MBint main() {char *some_memory;       // 用于存储动态分配的内存指针int  megabyte = A_MEGABYTE;  // 内存大小(1MB)int exit_code = EXIT_FAILURE;  // 程序退出状态(初始为失败状态)some_memory = (char *)malloc(megabyte);if (some_memory != NULL) {sprintf(some_memory, "Hello World\n");printf("%s", some_memory);exit_code = EXIT_SUCCESS;}exit(exit_code);
}
变量声明
  • some_memory:指向 char 类型的指针,用于接收 malloc 返回的内存地址。

  • megabyte:将宏定义的值赋给变量,方便后续使用(实际可直接用 A_MEGABYTE)。

  • exit_code:使用 EXIT_FAILURE(通常为 1)初始化,表示程序默认以失败状态退出,后续根据内存分配结果修改。

动态内存分配
  • malloc 函数:分配 megabyte 字节的内存空间,返回指向该内存起始地址的指针(void),需强制类型转换为 char

  • 返回值:若分配成功,返回非 NULL 指针;若失败(如内存不足),返回 NULL。

内存分配错误检查
  • 必须检查 malloc 的返回值!若忽略此步骤,后续对 NULL 指针的解引用会导致程序崩溃(未定义行为)。

  • 若分配失败,直接跳过 if 代码块,保持 exit_code = EXIT_FAILURE,程序以失败状态退出。

向内存写入字符串
sprintf(some_memory, "Hello World\n");
  • sprintf 函数:将格式化字符串写入指定内存缓冲区(而非标准输出)。

  • 此处作用:将 "Hello World\n" 写入 some_memory 指向的内存起始位置。

  • 注意:虽然分配了 1MB 内存,但字符串仅占用 12 字节("Hello World\n" 共 11 个字符 + 1 个 \0 终止符),剩余内存未使用(但仍被分配)。

  • sprintf 会自动添加 \0

设置退出状态并退出程序
exit_code = EXIT_SUCCESS;  // 若内存分配和写入成功,设置退出状态为成功(0)
exit(exit_code);           // 终止程序,返回状态码给操作系统
  • EXIT_SUCCESSstdlib.h 定义的宏(通常为 0),表示程序正常结束。

  • exit 函数会清理资源(如缓冲区),并将 exit_code 返回给父进程(如 shell)

二.请求全部的物理内存

代码功能概述
  1. 目标:循环分配 1MB 大小的内存块,直到累计分配的内存达到 PHY_MEM_MEGS * 2 MB(当前配置为 256MB)。

  2. 操作:每次分配成功后,向内存块写入固定字符串 Hello World,并打印已分配的内存总量。

  3. 终止条件:当内存分配失败(如系统内存不足)或达到目标总量时终止程序。

#include <unistd.h>  // 包含 Unix 系统相关函数(此处未实际使用,可能为冗余)
#include <stdlib.h>  // 包含内存分配(malloc)、程序退出(exit)等函数
#include <stdio.h>   // 包含输入输出函数(printf、sprintf)#define A_MEGABYTE (1024 * 1024)       // 定义 1MB 大小(1024×1024 字节)
#define PHY_MEM_MEGS    128  // 预设的物理内存大小(单位:MB),实际分配其 2 倍(256MB)int main()
{char *some_memory;          // 存储每次分配的内存块指针size_t  size_to_allocate = A_MEGABYTE;  // 每次分配的大小(1MB)int  megs_obtained = 0;     // 已分配的内存总量(单位:MB)while (megs_obtained < (PHY_MEM_MEGS * 2)) {//malloc 函数:分配 size_to_allocate 字节的内存空间,返回指向该内存起始地址的指针some_memory = (char *)malloc(size_to_allocate);  // 分配 1MB 内存if (some_memory != NULL) {                       // 分配成功megs_obtained++;                             // 累计块数 +1sprintf(some_memory, "Hello World");          // 向内存块写入固定字符串printf("%s - now allocated %d Megabytes\n", some_memory, megs_obtained);} else {                                         // 分配失败(如内存不足)exit(EXIT_FAILURE);                           // 终止程序,返回错误状态}
}exit(EXIT_SUCCESS);
}
变量声明
char *some_memory;          // 存储每次分配的内存块指针
size_t  size_to_allocate = A_MEGABYTE;  // 每次分配的大小(1MB)
int  megs_obtained = 0;     // 已分配的内存总量(单位:MB)
  • size_to_allocate 使用 size_t 类型(无符号整数),符合 malloc 参数要求,避免溢出风险。

  • megs_obtained 记录累计分配的 1MB 块数,达到 PHY_MEM_MEGS * 2 时停止。

内存分配循环

关键逻辑:

  • 循环条件:(因 ,2 倍即 256MB)。megs_obtained < 256PHY_MEM_MEGS=128

  • 单次分配:

   malloc(size_to_allocate) 申请 1MB 内存,返回指向该内存的指针。

若返回 ,说明内存分配失败(如系统剩余内存不足),程序直接退出。NULL

  • 成功处理:

    megs_obtained++:累计已分配的 1MB 块数。

    sprintf:向分配的内存块写入字符串 (仅占用 12 字节,剩余 1MB-12 字节未使用)。

    printf:打印内存块中的字符串和当前已分配的总内存(以 MB 为单位)。

三..可用内存

#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>#define ONE_K (1024)int main() {char *some_memory;       // 存储单次分配的内存块指针int  size_to_allocate = ONE_K;  // 每次分配的大小:1KBint  megs_obtained = 0;    // 已分配的内存总量(单位:MB)int  ks_obtained = 0;     // 内层循环中已分配的 1KB 块数while (1) {  // 无限循环,直到手动终止或内存不足for (ks_obtained = 0; ks_obtained < 1024; ks_obtained++) {// 分配 1KB 内存some_memory = (char *)malloc(size_to_allocate);if (some_memory == NULL) exit(EXIT_FAILURE);  // 分配失败则退出sprintf(some_memory, "Hello World");  // 向内存块写入固定字符串(12 字节)}megs_obtained++;  // 累计分配 1MBprintf("Now allocated %d Megabytes\n", megs_obtained);  // 打印已分配的 MB 数
}exit(EXIT_SUCCESS);
}

四.滥用内存

1.代码功能(预期 vs 实际)

预期功能(推测):

 分配 1KB 内存,逐个字节写入 (空字符),理论上初始化内存区域为全零。'\0'
  • 实际行为:

    无限循环:没有终止条件,指针会超出分配的内存范围,导致 未定义行为(如缓冲区溢出、段错误)。

  • #include <unistd.h>
    #include <stdlib.h>#define ONE_K (1024)int main() {//内存分配char *some_memory;char *scan_ptr;some_memory = (char *)malloc(ONE_K);if (some_memory == NULL) exit(EXIT_FAILURE);scan_ptr = some_memory;while(1) {*scan_ptr = '\0';scan_ptr++;}exit(EXIT_SUCCESS);
    }

相关文章:

内存管理(Linux程序设计)

内存管理 目录 内存管理 一.简单的内存分配 代码功能概述 代码流程图 变量声明 动态内存分配 内存分配错误检查 向内存写入字符串 设置退出状态并退出程序 二.请求全部的物理内存 代码功能概述 变量声明 三..可用内存 四.滥用内存 1.代码功能&#xff08;预期 …...

Prompt 结构化提示工程

Prompt 结构化提示工程 目前ai开发工具都大同小异&#xff0c;随着deepseek的流行&#xff0c;ai工具的能力都差不太多&#xff0c;功能基本都覆盖到了。而prompt能力反而是需要更加关注的&#xff08;说白了就是能不能把需求清晰的输出成文档&#xff09;。因此大家可能需要加…...

Postman设置了Cookies但是请求不携带Cookie

1 问题说明 使用Postman工具往往要向本地服务器发送请求携带Cookie便于测试接口&#xff0c;但是在Send下面的Cookies选项中设置域名127.0.0.1&#xff0c;并添加Cookie&#xff0c;发现发送的请求怎么都不会携带Cookie&#xff1a; 通过Fiddler抓包发现并没有Cookie&#xff1…...

微服务Nacos组件的介绍、安装、使用

微服务Nacos组件的介绍、安装、使用 在微服务架构日渐普及的今天&#xff0c;服务注册与配置管理成了系统架构中的关键环节。阿里巴巴开源的 Nacos&#xff08;Naming and Configuration Service&#xff09;正是解决这一问题的利器。本文将为你全面介绍 Nacos 的概念、安装方…...

深度剖析塔能科技精准节能方案:技术创新与实践价值

在能源管理领域不断追求高效与可持续发展的进程中&#xff0c;塔能科技的精准节能方案逐渐成为行业内备受瞩目的焦点。 精准节能&#xff1a;核心技术与实现路径 塔能科技的精准节能理念建立在对能源消耗的精细监测与深度分析基础之上。以其节能管理平台为例&#xff0c;该平台…...

AI PPT创作原理解析:让你的演示文稿更智能

在当今信息爆炸的时代&#xff0c;演示文稿已成为我们工作和学习中不可或缺的一部分。然而&#xff0c;制作一份高质量的PPT往往需要投入大量的时间和精力。随着人工智能技术的迅猛发展&#xff0c;AI PPT创作工具应运而生&#xff0c;极大地简化了PPT的制作过程。本文将深入解…...

ollama本地搭建大模型

dajdaj人工智能&#xff0c;现在流行的大模型有很多&#xff0c;像流行的&#xff1a;gpt-3.5-turbo、通义千问2.5&#xff0c;Llama3&#xff1b; 本地安装大模型有什么好处 大模型都是开源的&#xff0c;安装在自己的电脑上也是免费使用的&#xff1b;可以结合自己的私有文…...

AIGC(生成式AI)试用 31 -- AI做软件程序测试 2

接上文 AIGC&#xff08;生成式AI&#xff09;试用 30 -- AI做软件程序测试 1 整合测试项提问并输出测试用例思考并调整提问方式&#xff0c;为完整的输年程序测试提问准备 - 再次对需求提问 --> 实际是之前的提问记录找不到了&#xff0c;不过有新发现&#xff1b;不妨后…...

【深度学习与大模型基础】第13章-什么是机器学习

1. 什么是机器学习&#xff1f; 想象你在教一个小朋友认猫&#xff1a; 传统编程&#xff1a;你写一本《猫的100条特征手册》&#xff08;比如有胡须、尖耳朵&#xff09;&#xff0c;让计算机对照检查。 机器学习&#xff1a;你直接给计算机看1000张猫和狗的图片&#xff0c…...

大数据利器Kafka

大数据利器Kafka&#xff1a;从入门到实战的全面指南 在大数据的世界里&#xff0c;Kafka就像是一个高效的“数据快递员”&#xff0c;负责在不同的系统之间快速、可靠地传递数据。今天&#xff0c;咱们就一起来深入了解一下这个强大的工具。Kafka是由LinkedIn开发的分布式发布…...

工具指南:免费将 PDF 转换为 Word 的 10 个工具

可移植文档格式或 PDF 是大多数企业使用的流行文件格式&#xff0c;主要用于共享项目材料并确保整个团队协同工作。它还有助于避免处理大量文档和丢失关键数据。使用顶级 PDF 转换器还可以更轻松地高效地进行日常活动。企业可以依靠专业的文档扫描服务对其他格式的文档进行 PDF…...

Elasticsearch复习笔记

文章目录 ES 基础为什么用 Elasticsearch初识和安装概述安装 elasticsearch安装 Kibana 倒排索引正向索引倒排索引正向和倒排 基础概念文档和字段索引和映射MySQL 和 elasticsearch IK 分词器安装 IK 分词器使用 IK 分词器拓展词典 ES 索引库操作Mapping 映射属性ES 索引库的 C…...

STM32 SysTick定时器

一、SysTick系统定时器概述 1.1 什么是SysTick定时器 SysTick&#xff08;System Tick Timer&#xff09;是ARM Cortex-M系列处理器内核集成的24位系统定时器&#xff0c;作为ARM架构的标准外设&#xff0c;它被深度整合在NVIC&#xff08;嵌套向量中断控制器&#xff09;中。…...

Modbus TCP协议介绍、原理解析与应用示例

深入了解Modbus TCP协议&#xff1a;介绍、原理解析与应用示例 在工业自动化领域&#xff0c;设备之间的通信与数据交换至关重要。Modbus协议作为一种经典的通信协议&#xff0c;因其简单、开放和易于实现的特点&#xff0c;被广泛应用于各种工业设备之间的数据传输。而Modbus…...

Elasticsearch 报错 Limit of total fields [1000] has been exceeded

一、错误代码&#xff1a; spring boot 链接es 插入审计日志数据报错&#xff1a; Caused by: org.elasticsearch.ElasticsearchException: Elasticsearch exception [typeillegal_argument_exception, reasonLimit of total fields [1000] has been exceeded while adding ne…...

maven中pom.xml setting.xml关系

1 在Spring Boot项目中&#xff0c;pom.xml和settings.xml文件都可以配置Maven仓库地址&#xff0c;但它们的作用和优先级有所不同。 ● settings.xml&#xff1a; ○ 配置本地仓库&#xff1a;使用 <localRepository> 元素指定本地仓库的路径。 ○ 配…...

PubLayNet:文档布局分析领域的大规模数据集

PubLayNet&#xff1a;文档布局分析领域的大规模数据集 1. 数据集概述 PubLayNet&#xff08;Public Layout Network&#xff09;是由IBM AUR NLP团队开发的大规模文档图像数据集&#xff0c;旨在推动文档理解与布局分析领域的研究。该数据集通过自动标注技术&#xff0c;对科…...

JAVA----方法

好久没发博客了~~~~~重生之我开始补知识 1.What is 方法&#xff08;method&#xff09; 方法是程序中最小的执行单元。 简单来说&#xff0c;就是将一些重复代码打包&#xff0c;要用的时候我们进行调用就好&#xff01; e.g. public static void main&#xff08;String…...

mybatis xml中特殊字符处理

1&#xff0c;CDATA区&#xff1a; 它的全称为character data,以"<![CDATA[ "开始&#xff0c;以" ]]>" 结束&#xff0c;在两者之间嵌入不想被解析程序解析的原始数据&#xff0c;解析器不对CDATA区中的内容进行解析&#xff0c;而是将这些数据原封…...

vue3+dhtmlx 甘特图真是案例

使用vue3 ts dhtmlx 实现项目任务甘特图展示 支持拖拽&#xff0c;选择人员&#xff0c;优先级&#xff0c;开发状态&#xff0c;进度 效果图 完整代码 安装命令&#xff1a;npm i dhtmlx-gantt <template><div style"height: 100%; background-color: white…...

Chrome/Edge浏览器使用多屏完美解决方案,http部署使用https部署的功能

多屏使用场景&#xff1a;例如1屏显示录入操作界面&#xff0c;2屏显示SOP。或者每个屏上显示不同的看板内容等 废话不少说&#xff0c;直接上代码&#xff1a;将下面的代码复制到txt记事本里&#xff0c;保存为html格式即可本地观看效果 <!DOCTYPE html> <html>…...

Linux中进程的属性:状态

一、通用OS进程中的各种状态与相关概念 1.1通用进程中的状态 CPU执行进程代码&#xff0c;不是把进程执行完才开始执行下一个&#xff0c;而是给每个进程预分配一个“时间片”&#xff0c; CPU基于时间片进行轮转调度&#xff08;每个CPU分别进行&#xff09; 其中发涉及到的…...

软件架构师常用的软件工具有哪些

软件架构师的工作离不开多种工具的支撑&#xff0c;主要包括 建模与设计工具、文档与协作平台、代码质量与静态分析工具、性能与监控工具、DevOps 工具链、架构可视化与管理平台 等。其中&#xff0c;建模与设计工具 是架构师最核心的武器&#xff0c;能够帮助其从业务抽象到技…...

rl中,GRPO损失函数详解。

文章目录 **一、GRPO损失函数的设计背景****二、代码逐行解析****三、关键组件详解****1. 对数概率与KL散度计算****2. 优势值与策略梯度****3. 掩码与平均损失****四、训练动态与调参建议**在TRL(Transformer Reinforcement Learning)库中,GRPO(Group Relative Policy Opt…...

奇安信春招面试题

奇安信面试真题&#xff0c;以下是5道具有代表性的经典技术面试题及其解析&#xff0c;覆盖网络安全、渗透测试、安全架构设计等核心领域。 《网安面试指南》https://mp.weixin.qq.com/s/RIVYDmxI9g_TgGrpbdDKtA?token1860256701&langzh_CN 5000篇网安资料库https://mp.…...

MineWorld,微软研究院开源的实时交互式世界模型

MineWorld是什么 MineWorld是微软研究院开发并开源的一个基于《我的世界》&#xff08;Minecraft&#xff09;的实时互动世界模型。该模型采用了视觉-动作自回归Transformer架构&#xff0c;将游戏场景和玩家动作转化为离散的token ID&#xff0c;并通过下一个token的预测进行…...

Nginx RTMP配置存储位置

window&#xff1a; 支持本地磁盘和远程网络位置 配置文件如下 worker_processes 1;events {worker_connections 1024; }#RTMP服务 rtmp {server { listen 1935; #监听端口chunk_size 4096; #数据传输块大小application my_live { # 创建rtmp应用hlslive on; # 当路径匹…...

JVM理解(通俗易懂)

虽然网上有很多关于JVM的教程,但是都天花乱坠,很多都是一上来就JVM内存模型、JVM双亲委派等等,(可能我比较菜看不懂)。于是我自己决定写一篇能看懂的文章~如果有看不懂我就自己百度,大家有什么疑问也可以评论区交流~ 欢迎指点我的Error~ JVM概念 JVM大家都知道,就Ja…...

python三维矩阵的维度

matrix_3x3x3 np.array([[[ 8.35, 16.72, 17.46],[16.72, 33.49, 34.97],[17.46, 34.97, 36.51]],[[16.72, 33.49, 34.97],[33.49, 67.09, 70.05],[34.97, 70.05, 73.13]],[[17.46, 34.97, 36.51],[34.97, 70.05, 73.13],[36.51, 73.13, 76.35]] ]) 例如这样的三维矩阵&#…...

HarmonyOS 是 Android 套壳嘛?

文章目录 HarmonyOS 是 Android 套壳吗&#xff1f;技术视角的深度解析一、核心结论二、技术对比&#xff1a;从底层到应用层1. 内核与基础架构2. 应用开发与运行机制3. 生态与应用场景 三、常见误解的澄清误解 1&#xff1a;“HarmonyOS 使用 Android 应用&#xff0c;所以是套…...

【Java面试笔记:基础】10.如何保证集合是线程安全的? ConcurrentHashMap如何实现高效地线程安全?

1. 保证集合线程安全的方式 传统同步容器:如 Hashtable 和 Vector,通过在方法上加 synchronized 关键字实现线程安全,但性能较低。同步包装器:通过 Collections.synchronizedMap 等方法将普通集合包装成线程安全的集合,但仍然使用粗粒度的锁,性能不佳。List<String>…...

【Amazing晶焱科技高速 CAN Bus 传输与 TVS/ESD/EOS 保护,将是车用电子的生死关键无标题】

台北国际车用电子展是亚洲地区重量级的车用电子科技盛会&#xff0c;聚焦于 ADAS、电动车动力系统、智慧座舱、人机界面、车联网等领域。各大车厂与 Tier 1 供应链无不摩拳擦掌&#xff0c;推出最新技术与创新解决方案。 而今年&#xff0c;“智慧座舱” 无疑将成为全场焦点&am…...

电控---DMP库

一、DMP库的本质与核心定位 DMP库是为Invensense&#xff08;现TDK&#xff09;系列传感器&#xff08;如MPU6050、MPU9250等&#xff09;内置的数字运动处理器&#xff08;DMP&#xff09;硬件模块提供的软件接口层。其核心目标是&#xff1a; 抽象硬件操作&#xff1a;将复…...

YOLO数据处理

YOLO&#xff08;You Only Look Once&#xff09;的数据处理流程是为了解决目标检测领域的核心挑战&#xff0c;核心目标是为模型训练和推理提供高效、规范化的数据输入。其设计方法系统性地解决了以下关键问题&#xff0c;并对应发展了成熟的技术方案&#xff1a; 一、解决的问…...

Linux实现网络计数器

1.TcpServer.hpp文件 类TcpServer的私有成员变量有端口号&#xff0c;指向类Socket对象的指针&#xff0c;布尔值表示是否运行&#xff0c;以及回调函数&#xff0c;ioservice_t是表示参数为指向Socket对象的指针和InetAddr对象的函数&#xff0c;TcpServer类的构造函数接收端…...

数据分析:用Excel做周报

目录 1.初始模板 ​编辑 2.填充数据 2.1 日期以及表头 2.2 数据验证 2.3 计算数据填充 2.3.1 灵活计算 2.3.2 单独计算 2.3.3 总计 2.4 数据格式 2.5 周累计 2.6 周环比 2.7 业务进度 3 美化 1.初始模板 2.填充数据 2.1 日期以及表头 结果指标有以下这些&#…...

初阶数据结构--排序算法(全解析!!!)

排序 1. 排序的概念 排序&#xff1a;所谓排序,就是使一串记录&#xff0c;按照其中的某个或某些些关键字的大小&#xff0c;递增或递减的排列起来的操作。 2. 常见的排序算法 3. 实现常见的排序算法 以下排序算法均是以排升序为示例。 3.1 插入排序 基本思想&#xff1a;…...

SpringCloud 微服务复习笔记

文章目录 微服务概述单体架构微服务架构 微服务拆分微服务拆分原则拆分实战第一步&#xff1a;创建一个新工程第二步&#xff1a;创建对应模块第三步&#xff1a;引入依赖第四步&#xff1a;被配置文件拷贝过来第五步&#xff1a;把对应的东西全部拷过来第六步&#xff1a;创建…...

加油站小程序实战教程14会员充值页面搭建

目录 1 原型2 搭建充值金额选择功能3 搭建金额输入4 搭建支付方式5 充值按钮最终的效果 上一篇我们介绍了充值规则的后台功能&#xff0c;有了基础的规则&#xff0c;在会员充值页面就可以显示具体的充值规则。本篇我们介绍一下会员充值的开发过程。 1 原型 充值页面我们是分为…...

内卷的中国智驾,合资品牌如何弯道超车?

作者 |德新 编辑 |王博 上海车展前夕&#xff0c;一汽丰田举办重磅车型bZ5的技术发布会&#xff0c;脱口秀演员庞博透露了这款车型的一大重要特性&#xff0c;其搭载来自Momenta的智能辅助驾驶系统行驶里程已经超过20亿公里。 携手中国科技公司提高车型智能化的属性&#xff…...

【go】go run-gcflags常用参数归纳,go逃逸分析执行语句,go返回局部变量指针是安全的

go官方参考文档&#xff1a; https://pkg.go.dev/cmd/compile 基本语法 go run 命令用来编译并运行Go程序&#xff0c;-gcflags 后面可以跟一系列的编译选项&#xff0c;多个选项之间用空格分隔。基本语法如下&#xff1a; go run -gcflags "<flags>" main.…...

数据库11(触发器)

触发器有三种类型&#xff0c;包括删除触发器&#xff0c;更新触发器&#xff0c;添加触发器 触发器的作用是&#xff1a;当某个表发生某个操作时&#xff0c;自动触发触发器&#xff0c;进行触发器规定的操作 触发器语句 create trigger tname --创建触发器 on aa --创建在表…...

十大物联网平台-物联网十大品牌

物联网十大品牌及平台解析 物联网&#xff08;IoT&#xff09;作为当下极具影响力的技术&#xff0c;正逐步渗透至社会各领域&#xff0c;为人们生活与社会发展带来诸多便利与变革。如今&#xff0c;众多企业投身于物联网行业&#xff0c;致力于推动其发展。以下是对物联网相关…...

心智模式VS系统思考

很多人常说&#xff0c;“改变自己&#xff0c;从改变思维开始。”但事实上&#xff0c;打破一个人的心智模式&#xff0c;远比想象中要困难得多。我们的思维方式、行为习惯&#xff0c;甚至是对世界的认知&#xff0c;往往是多年积累下来的产物。那些曾经的经历、长期的学习与…...

QT 打包安装程序【windeployqt.exe】报错c000007d原因:Conda巨坑

一、命令行执行命令 E:\Project\GNCGC\Bin\Win32\Vc22\RS422地检>E:\SoftWare\Qt\5.14.2\msvc2017\bin\windeployqt.exe CGC170.exe二、安装了Conda的朋友&#xff0c;巨坑 无语&#xff0c;E:\SoftWare\Qt\5.14.2\msvc2017\bin\windeployqt.exe 优先把Conda环境关联的Qt动…...

Vue3祖先后代组件数据双向同步实现方法

在 Vue3 中实现祖先后代组件的双向数据同步&#xff0c;可以通过组合式 API 的 provide/inject 配合响应式数据实现。以下是两种常见实现方案&#xff1a; 方案一&#xff1a;共享响应式对象 方法 html <!-- 祖先组件 --> <script setup> import { ref, provide…...

OpenBayes 一周速览|EasyControl 高效控制 DiT 架构,助力吉卜力风图像一键生成;TripoSG 单图秒变高保真 3D 模型

公共资源速递 10 个教程&#xff1a; * 一键部署 R1-OneVision * UNO&#xff1a;通用定制化图像生成 * TripoSG&#xff1a;单图秒变高保真 3D * 使用 VASP 进行机器学习力场训练 * InfiniteYou 高保真图像生成 Demo * VenusFactory 蛋白质工程设计平台 * Qwen2.5-0mni…...

服务器-conda下载速度慢-国内源

文章目录 前言一、解决问题&#xff1a;使用国内conda镜像下载&#xff08;差&#xff09;二、解决问题&#xff1a;使用pip下载(优)总结 前言 conda频道中有无效频道导致下载失败 一、解决问题&#xff1a;使用国内conda镜像下载&#xff08;差&#xff09; 步骤 1&#xff…...

python的pip download命令-2

当然可以,下面我详细解释一下 pip download 的作用、用法和技术原理。 🧠 一句话总结: pip download 是 pip 提供的一个命令,用来下载 Python 包及其依赖项的安装文件,但不会安装。 🔍 和 pip install 的区别: 命令作用是否安装是否联网典型用途pip install安装指定包…...

【Java设计模式及实践学习-第4章节-结构型模式】

第4章节-结构型模式 笔记记录 1. 适配器模式2. 代理模式3. 装饰器模式4. 桥接模式5. 组合模式6. 外观模式7. 享元模式8. 总结 1. 适配器模式 2. 代理模式 3. 装饰器模式 4. 桥接模式 5. 组合模式 6. 外观模式 7. 享元模式 Java语言中的String字符串就使用了享元模式&…...