logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

IEC 61850 GOOSE 专题(二):GOOSE 报文逐字段剖析——Wireshark 实战

文章摘要(150字): 本文深入解析GOOSE报文的协议栈结构与编码细节,重点对比GOOSE与MMS在OSI模型中的差异:GOOSE直接映射至数据链路层(省略网络/传输层),通过二层组播实现微秒级传输。核心内容包括:1)以太网帧封装结构(含VLAN标签与组播MAC);2)基于ASN.1的APDU定义及BER编码规则;3)关键字段如gocbRef、stNum、allData的语义与编解码方法;4)异

文章图片
#wireshark#网络
IEC 61850 GOOSE 专题(三):SCL 中的 GOOSE 控制块配置——工程化设计

文章摘要 目标:掌握SCL文件中GOOSE控制块(GSEControl)和通信参数(GSE)的配置方法,设计多GoCB方案,并完成10kV线路保护IED的完整配置。 核心内容: GSEControl元素:位于LLN0节点内,定义GoCB逻辑属性(如name、appID、datSet等),需确保唯一性和正确性。 GSE通信参数:在<Communication>段中配置组播MAC、APPID、VLAN

文章图片
#网络
vcpkg 使用指南 —— C/C++ 跨平台包管理最佳实践

vcpkg是微软开源的C/C++跨平台包管理器,支持Linux、Windows和macOS三大平台。它采用"源码构建+本地缓存"的设计理念,提供2500+开源库支持,可无缝集成CMake、MSBuild等构建系统。vcpkg简化了第三方库的获取与构建过程,通过一行命令即可自动下载、编译和安装依赖库,并自动处理依赖关系。相比手动管理,vcpkg能精确控制版本,通过vcpkg.json声明依赖实现团队

文章图片
#c语言#c++#开发语言
C++17 多线程系列(四):异步编程——future / promise / async / packaged_task

本文介绍了C++异步编程的四大核心组件:std::async、std::future、std::promise和std::packaged_task。主要内容包括:1)同步与异步编程模型的对比;2)C++异步体系架构,包括生产者、共享状态和消费者的交互机制;3)std::future的基本用法和核心API;4)std::promise的手动传值机制和异常处理;5)std::async的三种启动策略

文章图片
C++17 多线程系列(六):高级同步——shared_mutex / scoped_lock / call_once

掌握 C++17 新增的同步原语,理解读者-写者锁的性能优势,能根据场景选择正确的同步工具,写出正确且高效的多线程同步代码。前置知识:Part 2 的mutexlock_guard基础。

文章图片
#c++#开发语言
C++17 多线程系列(一):线程基础——std::thread 完全指南

本文介绍了C++11中std::thread的基本用法,包括线程创建、生命周期管理和线程标识。主要内容包括:1)通过5种方式创建线程(函数指针、函数对象、lambda表达式、成员函数和多参数);2)线程状态管理和join/detach操作的选择;3)使用RAII技术确保线程安全;4)获取线程标识的方法。文章强调必须在销毁线程对象前调用join或detach,并提供了异常安全的thread_guar

文章图片
#c++#开发语言
C++17 多线程系列(二):共享数据与同步——mutex 与 condition_variable

本文深入探讨C++多线程编程中的核心同步机制。首先分析数据竞争的本质及其导致的未定义行为,通过汇编视角解释非原子操作的并发风险。重点介绍三种互斥锁工具:std::mutex基础用法、std::lock_guard的RAII自动管理特性,以及std::unique_lock的灵活性优势(支持延迟加锁、尝试加锁等)。最后展示C++17引入的std::scoped_lock如何简化多锁操作并预防死锁。全

文章图片
#c++#开发语言
C++17 多线程系列(五):C++17 并行算法——从串行到并行的零成本迁移

摘要:C++17 引入了并行算法执行策略,通过 <execution> 头文件提供三种策略:串行(seq)、并行(par)和并行+向量化(par_unseq)。只需在现有 STL 算法(如 sort、for_each、transform)中添加执行策略参数即可实现并行化,典型加速比可达核心数倍。特别推荐用 std::reduce 替代 std::accumulate 进行并行归约,但需注意操作必须

文章图片
#c++
C++17 多线程系列(三):原子操作与内存模型——从 volatile 到 memory_order

C++原子操作与内存模型摘要 本文系统讲解了C++原子操作的核心概念与应用场景。主要内容包括: 原子操作必要性:澄清volatile与原子操作的区别,分析i++非原子性的底层原因(加载-修改-存储三步操作) std::atomic基础: 支持bool、整数、指针等类型 提供load/store/exchange/fetch_add等原子操作 重点讲解CAS(compare_exchange)原理与

文章图片
C++17 多线程系列(八):并发模式——Producer-Consumer / Readers-Writer / 并行 Pipeline

本文介绍了经典并发设计模式中的生产者-消费者模式,提供了一个生产级的BoundedQueue<T>实现。该队列支持阻塞/非阻塞操作、超时控制和优雅关闭,包含多种生产者接口(push/try_push/push_for)和消费者接口(pop/try_pop)。通过一个多生产者-多消费者的完整示例,展示了如何在实际场景中使用该模式,包括3个生产者线程生成随机数,2个消费者线程处理数据,并统计生产消费总

文章图片
#c++
    共 35 条
  • 1
  • 2
  • 3
  • 4
  • 请选择