2026年1月15日

std::optional 作用详解

摘要: std::optional 作用详解 + 完整可运行对比代码(有无std::optional 2种实现) 结合你在SDM项目中identifier_msg_processor.cpp里看到的std::optional<IdentifierMsg>实际用法,我给你写 完整可直接编译运行的C++代码,做 阅读全文

posted @ 2026-01-15 11:00 四季萌芽V 阅读(2) 评论(0) 推荐(0)

2026年1月12日

UDS中DID与子功能的区别

摘要: 在 UDS(Unified Diagnostic Services,统一诊断服务)协议中,DID(Data Identifier,数据标识符) 是用于定位 ECU(电子控制单元)中 “具体诊断数据” 的唯一标识,而 “子功能” 是用于细化 “主服务操作意图” 的指令 —— 二者本质是 UDS 协议中 阅读全文

posted @ 2026-01-12 10:08 四季萌芽V 阅读(7) 评论(0) 推荐(0)

2026年1月11日

C++17 结构化绑定(Structured Binding) 的范围 for 循环

摘要: 在 C++17 中,结构化绑定(Structured Bindings)可以与范围 for 循环结合使用,简化对容器元素的访问。以下是几种常见场景的代码示例: 示例 1:遍历 std::map(键值对) #include <iostream> #include <map> #include <str 阅读全文

posted @ 2026-01-11 17:29 四季萌芽V 阅读(2) 评论(0) 推荐(0)

2026年1月8日

UDS中DID和RID的区别

摘要: 核心场景:你的车坏了,亮起了故障灯。你把它开去维修厂,师傅连接上一个“汽车诊断仪”(可以理解为一个专业的汽车扫描电脑)。这个诊断仪和你的车载电脑(ECU)之间的对话,用的就是UDS协议。 核心概念类比:医生给病人做检查 为了理解DID和RID,我们可以把整个诊断过程比作 “医生给病人做身体检查”。 阅读全文

posted @ 2026-01-08 13:55 四季萌芽V 阅读(15) 评论(0) 推荐(0)

2026年1月7日

疑问3

摘要: 疑问 请问 std::bind( &zkos::diag::sdm::SdmIpcRuntime::RecvMethodCall, &sdm_runtime, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3 )中 阅读全文

posted @ 2026-01-07 11:08 四季萌芽V 阅读(2) 评论(0) 推荐(0)

疑问2

摘要: 是的!你这个判断完全正确——handler_(method.id, message->data, std::move(message)) 这行代码直接触发了 SdmIpcRuntime::RecvMethodCall() 函数的调用,这也是整个IPC请求从“通信层”流转到“业务层”的核心一步。 我会 阅读全文

posted @ 2026-01-07 11:02 四季萌芽V 阅读(2) 评论(0) 推荐(0)

疑问1

摘要: 疑问 请问这个参数[](const std::string& reply) { std::cout << "[外部进程] 回复:" << reply << std::endl;作为函数simulateExternalCall()的形参,再后面是函数callMethod()的形参,再后续的运转可以给我 阅读全文

posted @ 2026-01-07 10:58 四季萌芽V 阅读(2) 评论(0) 推荐(0)

C++ 模拟实现 IPC(进程间通信)

摘要: 这个IPC通信示例是基于真实车载SDM模块的核心逻辑,从“抽象业务场景→拆解技术组件→分层实现→修复问题→验证运行” 一步步设计出来的。我会带着你复刻整个设计过程,每一步都讲清“为什么这么做”“怎么落地”,新手也能跟着复刻。 核心前提:先明确设计目标 我们要模拟的核心场景是: SDM(自诊断管理)作 阅读全文

posted @ 2026-01-07 10:45 四季萌芽V 阅读(4) 评论(0) 推荐(0)

2026年1月3日

C++ std::enable_shared_from_this<T>的作用

摘要: std::enable_shared_from_this<T> 是 C++ 标准库中的一个模板类,用于解决一个特定问题:当一个对象本身已被 std::shared_ptr 管理时,如何在该对象的方法内部安全地获取指向自身的 std::shared_ptr。 核心作用 提供安全的 shared_fro 阅读全文

posted @ 2026-01-03 10:40 四季萌芽V 阅读(6) 评论(0) 推荐(0)

C++ 通用引用&&的用法和误区

摘要: 通用引用(Universal Reference)笔记:从SDM代码看&&的核心用法 一、什么是通用引用? 通用引用是C++11引入的特性,本质是一种特殊的引用形式,满足以下3个条件时,&& 会被判定为通用引用: 必须是函数模板的参数(非普通函数、非类成员变量); 参数类型是模板参数(如 typen 阅读全文

posted @ 2026-01-03 09:39 四季萌芽V 阅读(12) 评论(0) 推荐(0)

导航