自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

编程改变世界。想做一些改变世界的产品。感谢一键三连。

主要专注于上位机跨平台软件开发,windows居多,可移植在linux上运行,有关C++\Qt\python\cmakelist\visio studio\通信协议\架构设计\算法\模块化开发\数据库......都会涉及到,欢迎评论交流!

  • 博客(324)
  • 收藏
  • 关注

原创 国内外主流的 Chat 式生成式对话/大模型(LLM)对比介绍

摘要: 当前主流生成式对话大模型(LLM)主要分为闭源商业模型(如OpenAI的GPT系列、Anthropic的Claude、Google的Gemini)和开源/部分开源模型(如Meta的Llama、Mistral的Mixtral)。闭源模型在多模态、推理能力上领先,但成本较高;开源模型(如Mistral、中国的ChatGLM、Baichuan)更适合本地部署和定制化,尤其在中文场景优势显著。中国厂商(百度、阿里、字节等)推出针对性优化的模型,价格策略灵活,部分开源但需注意许可限制。选型需权衡能力、成本、数

2025-11-20 08:30:00 814

原创 强化学习与策略梯度:从决策智能到生成式 AI 的隐秘联系

摘要(149字) 强化学习(RL)通过试错训练决策策略,而策略梯度(PG)方法通过直接优化策略网络,使其在复杂任务中表现优异。PG算法家族从REINFORCE发展到PPO、SAC等先进方法。尽管RL与生成式AI看似不同,但二者深度融合:大模型通过RLHF(基于人类反馈的强化学习)提升对齐能力,而RL也开始采用生成模型表达策略。这种交叉使AI既能理解世界,又能做出符合人类偏好的决策和表达,为AGI发展奠定基础。策略梯度成为连接决策与生成能力的关键技术纽带。

2025-11-20 08:30:00 2219

原创 C++|创建单例类

本文系统地介绍了在C++中实现单例模式的多种方法。主要内容包括:经典的懒汉式(线程不安全)、线程安全的C++11静态变量实现(最推荐)、饿汉式以及双重检测锁等方式。重点分析了各种方法的优缺点,并提供了防止复制和确保生命周期正确的建议。最后通过配置管理器示例展示了实际应用场景,并总结了各实现方式的适用性,推荐使用C++11静态变量的线程安全实现作为最优方案。

2025-11-19 18:15:00 878

原创 C++|map容器详解

C++中的map是标准库提供的关联容器,以键值对形式存储数据,自动按key排序。底层采用红黑树实现,查找/插入/删除时间复杂度为O(log n)。本文详细介绍了map的基本使用,包括初始化、插入、查找、删除等操作,对比了map与unordered_map的特性差异。特别讲解了自定义排序、结构体作为key等高级用法,并总结了使用技巧和常见坑点。map凭借其有序性和稳定性,适合需要排序和可靠查找性能的场景。

2025-11-19 08:30:00 1199

原创 C++ | map 内部构造源码解析

操作复杂度为什么findO(log n)一路从根查到叶子insertO(log n)查找位置 + rebalanceeraseO(log n)删除 + rebalance遍历O(n)中序遍历map 性能稳定、最差情况不会退化(vector、unordered_map 在极端情况下会退化。

2025-11-18 20:21:53 567

原创 OSI 七层模型的每一层作用、在代码编程中的具体体现

✔ 应用层是你平时写得最多的(HTTP、MQTT、DDS)✔ 表示层是序列化/反序列化(Protobuf、JSON)✔ 会话层是保持连接(WebSocket、MQTT、DDS)✔ 传输层是端口、TCP/UDP、粘包拆包✔ 网络层是 IP 地址、ICMP、路由✔ 链路层是 MAC、ARP、以太帧✔ 物理层是信号、比特流MTU(Maximum Transmission Unit)= 最大传输单元👉它指的是“二层以太网帧中 IP 包的最大大小”网络类型MTU有线以太网(Ethernet)

2025-11-18 08:00:00 994

原创 WindowsAPI|每天了解几个winAPI接口之网络配置相关文档Iphlpapi.h详细分析13

Windows 网络管理 API 解析 本文分析了 Windows 网络管理中的两个关键 API: IpReleaseAddress - 用于释放指定网卡的 DHCP 租约,类似ipconfig /release 需要管理员权限 参数为适配器索引信息 常用于网络重置、DHCP调试等场景 IpRenewAddress - 用于重新获取DHCP地址,类似ipconfig /renew 需要有效DHCP配置 与IpReleaseAddress配合使用实现完整网络重置 适用于网络故障恢复和自动化部署 两个API均属

2025-11-17 21:10:31 1658

原创 Qt|Qt5.12.12安装Mqtt

本文介绍了如何在Qt 5.12.12中手动安装MQTT模块。由于Qt MQTT属于商业授权模块,开源安装器中不包含该组件,但可通过源码单独编译集成。文章详细说明了两种获取源码的方式(Git克隆和直接下载),并提供了完整的编译步骤(配置环境、生成构建文件、编译安装等)。同时指出使用qmake构建时可能遇到的Perl依赖问题,解释了Qt构建系统为何需要Perl环境,并推荐安装Strawberry Perl解决方案。最后给出了项目中集成MQTT模块的方法和常见问题排查建议。

2025-11-17 21:00:00 742

原创 C++|读写ini文件

本文介绍了C++中读写INI配置文件的常用方法。INI文件由节(Section)、键值对(Key-Value)和注释组成,格式简单易读。文章提供了一个轻量级INI解析器实现,使用C++标准库完成文件读写功能,支持基本的解析和生成操作。示例代码展示了如何读取和修改INI配置,并提供了常见问题的注意事项。对于需要更复杂功能的场景,文中推荐了几种成熟的第三方库作为替代方案。该实现适合项目中的简单配置管理需求,如有复杂数据结构需求可考虑使用JSON/YAML等格式。

2025-11-14 21:00:00 678

原创 Qt 自定义菜单栏 / 工具栏按钮 QToolButton + InstantPopup 详细解析

本文详细介绍了在Qt中使用QToolButton和QMenu实现工具栏下拉菜单的方法。重点分析了InstantPopup、MenuButtonPopup和DelayedPopup三种弹出模式的区别,其中InstantPopup模式最为常用,可以实现点击按钮立即弹出菜单的效果。文章提供了完整的代码示例,包括动态添加菜单项、设置下拉箭头等实现细节,并对不同PopupMode的使用场景给出了建议。这种技术组合特别适合实现配置管理类的工具栏按钮,能够显著提升桌面软件的交互体验。

2025-11-14 21:00:00 915 1

原创 C++|Qt如何测量代码执行时间,实现性能分析、超时检测和帧率控制等场景

QElapsedTimer与C++计时工具对比摘要 Qt框架中的QElapsedTimer 专为高精度时间间隔测量设计 使用系统单调时钟,不受系统时间调整影响 核心用途:代码性能分析、超时检测、帧率控制 典型方法:start()、elapsed()、restart() C++标准库替代方案 <chrono>库(推荐) 提供类型安全的高精度计时 使用high_resolution_clock实现纳秒级精度 完全跨平台,现代C++标准实现 传统计时方法 clock():测量CPU时间而非实际时间 平

2025-11-12 21:15:00 1285

原创 WindowsAPI|每天了解几个winAPI接口之网络配置相关文档Iphlpapi.h详细分析12-Windows 网络接口时间戳 API 的查询、事件注册和注销机制

本文解析了Windows网络接口时间戳管理相关API,包括: GetInterfaceCurrentTimestampCapabilities - 查询当前启用的时间戳能力 GetInterfaceHardwareTimestampCapabilities - 查询网卡硬件支持的时间戳能力 NotifyIfTimestampConfigChange - 注册时间戳配置变更通知回调 这些接口用于高精度时间同步、延迟测量等场景,支持查询硬件能力、当前配置状态及变更通知功能,为网络时间同步(PTP)等应用提供底层

2025-11-12 19:43:21 1105

原创 我的创作纪念日

每年都让分享,实在是不知道说什么好,就是为了当个人笔记本使用的,也不够深入,不够完美,够用就行,chatgpt真的大大提高了写博客的效率,降低了查找资料的成本,后续还是会专注C++,windwos系统吧,但是不好说windwos系统何时会被淘汰。能帮大家解决问题就很开心,逐渐成为大家口中的大佬又实在是不敢当,很多东西都是边学边做,希望早日破百万访问和万粉,大家有什么想看的也欢迎留言,希望这个博客可以帮我找到好工作和好导师。能保持可观的薪资下先干着吧,真的很想设计一些自己的产品,没机会,没金钱,没经验…

2025-10-28 09:23:09 240

原创 Fast DDS IDL 自动生成与批量封装完整实践(含 fastdds_autogen.cmake 模块)

本文介绍了Fast DDS中IDL文件自动生成C++代码的完整实践方案,包含单文件生成和批量处理两个部分。第一部分详细说明了如何在CMake中配置单个IDL文件(如trajectory_frame.idl)的自动生成流程,包括设置输出路径、调用fastddsgen工具以及注册生成的源文件。第二部分则展示了如何封装为fastdds_autogen.cmake模块,实现多个IDL文件(如trajectory_frame、trajectory_command等)的批量处理,通过函数化封装简化CMake配置。方案支

2025-10-24 08:30:00 340

原创 如何设置Protobuf 自动生成的头文件并在项目中引用

有时候,我们希望生成的.pb.h文件集中放到固定位置,比如。并且 include 路径也完全由你控制。它在 build 目录中镜像源码结构并自动加入 include 路径而无需关心生成文件的位置。📎CMake 官方模块 FindProtobuf.cmakeProtocol Buffers 官方文档。

2025-10-24 08:15:00 831

原创 C++|如何实现数据回放相关功能模块开发 纯手敲

本文介绍了一种数据回放系统的设计方案,选择了将接收数据拆包解析后存储的方式,而非直接存储原始数据。系统主要由DataManager和DataPlayback两个单例类构成:DataManager负责管理所有接收和下发的数据;DataPlayback负责数据存储和回放功能,包括定时将数据写入文件、支持时间戳转换、读取文件数据等功能。系统采用多线程和互斥锁保证数据安全,每分钟落盘防止数据丢失,并设计了自定义文件格式存储结构化数据。该方案实现了数据的透明化处理和灵活回放控制。

2025-10-23 08:30:00 1309

原创 Windows SDK:iphlpapi.h 文件详解与网络通信接口分析

本文详细解析了Windows SDK中的iphlpapi.h文件,该文件属于Windows IP Helper API,用于网络编程和系统管理。主要内容包括:文件路径和作用概述,提供网络适配器、IP地址、路由表等信息的查询和配置功能;功能分类介绍,涵盖网络接口信息、IP路由管理、网络统计监控、ARP/DNS解析以及时间戳查询等接口;最后给出一个枚举本机网络适配器的代码示例,展示如何获取网卡描述、IP和MAC地址等信息。该文件是开发网络监控、诊断工具的重要底层支持。

2025-10-23 08:30:00 492

原创 Windows API 文件结构与功能分类详解

Windows API 文件结构与功能摘要 Windows SDK API 按目录分层组织,主要包含用户模式(um)、共享定义(shared)、标准C库(ucrt)和WinRT接口等模块。功能分类如下: 核心模块: 图形界面:winuser.h(窗口)、wingdi.h(绘图) 网络通信:winsock2.h(Socket)、wininet.h(HTTP) 硬件交互:setupapi.h(设备)、usb.h(USB接口) 文件系统:fileapi.h(基础I/O)、winreg.h(注册表) 系统管理:pr

2025-10-22 17:37:38 850

原创 嵌入式数据库全景指南:SQLite 领衔,Beyond SQL 的“瑞士军刀”

嵌入式数据库早已不是“SQLite 一统江湖”。从 KB 级固件到 GB 级边缘盒子,从 行存事务到 列存 OLAP,从 C 内核到 JavaScript 包,总有一款能塞进你的硬件和预算。选型前先画需求矩阵,再跑一遍真实数据,“小”数据库也能撬动大业务。

2025-10-22 08:30:00 1566

原创 C++|std::optional作用是什么

摘要: std::optional是C++17引入的模板类,用于显式表达“值是否存在”的语义,解决传统方案(魔法值、裸指针等)的痛点。其核心优势包括:类型安全(编译器辅助检查)、零堆分配(值语义)、协议兼容性(版本升级不破坏旧代码)。文章通过ReplayFrame案例展示了optional在结构体设计中的实践,对比其与unique_ptr的性能差异,解析编译期优化技巧(如alignas压缩内存),并给出序列化、多线程等场景的避坑指南。optional将存在性信息融入类型系统,为后续std::expected

2025-10-21 18:15:00 1082

原创 高通(QCOM)平台HAL层获取预览/拍照/录像YUV数据

文章摘要:本文深入探讨了在高通平台HAL层获取相机YUV数据的四种技术路线。首先介绍了YUV格式的特点及其在视频处理中的重要性,随后详细分析了不同应用场景下的数据获取需求。文章重点解析了四种实现方案:直接获取预览/录像流(路线A)、CamX-CHI框架新增算法流(路线B)、利用ZSL快照流(路线C)以及通过ISP到CDSP的零拷贝方案(路线D)。针对每种方案提供了具体实现步骤、性能数据和适用场景,并分享了通用调试技巧和常见问题解决方案。最后给出了根据不同需求的技术选型建议,为算法团队获取原始相机数据提供了全

2025-10-21 10:45:08 948

原创 C++|手写shared_ptr实现

本文介绍了如何从零实现C++中的shared_ptr智能指针。首先解释了手动内存管理的三大痛点(内存泄漏、野指针、重复释放),以及shared_ptr通过引用计数实现共享所有权的核心原理。文章详细展示了控制块的实现,包括构造函数、拷贝控制函数和析构函数的编写,并通过代码示例演示了引用计数的增减逻辑。随后讲解了如何扩展功能,如支持移动语义(移动构造函数和移动赋值运算符)、noexcept关键字的作用,以及reset()和unique()等实用方法。最后通过测试案例验证了自实现shared_ptr能正确管理对象

2025-10-18 17:08:32 648

原创 为什么炉石传说可以ios和android同步,王者荣耀不行?

《炉石传说》与《王者荣耀》的数据互通差异源于账号体系、服务器架构和平台策略的不同。 账号体系: 炉石使用暴雪统一账号,跨平台数据同步; 王者荣耀依赖微信/QQ账号,且区分iOS/Android服务器。 服务器架构: 炉石全球共服; 王者荣耀分微信/QQ独立服务器,社交生态隔离。 平台策略: 苹果要求iOS内购分成,限制跨平台充值互通; 安卓渠道同样限制外部支付,导致数据隔离。 总结:炉石因自营账号和支付系统实现互通,而王者荣耀受限于社交绑定和平台分成机制无法跨平台同步。

2025-10-17 08:30:00 1738

原创 Windows PTP 客户端和NDIS驱动开发

摘要: Windows PTP客户端和NDIS驱动开发是实现高精度网络时间同步的关键技术。PTP协议(IEEE 1588)通过硬件时间戳在网络设备间实现微秒级时钟同步,Windows 10/Server 2019起原生支持PTP客户端功能。NDIS驱动作为网卡与操作系统的桥梁,需实现硬件时间戳功能才能支持CaptureInterfaceHardwareCrossTimestamp()等API。该函数能否工作取决于网卡驱动是否通过NDIS暴露时间戳能力。三者关系可概括为:NDIS驱动提供硬件时间能力,Wind

2025-10-17 08:00:00 772

原创 WindowsAPI|每天了解几个winAPI接口之网络配置相关文档Iphlpapi.h详细分析11

这篇文章介绍了三个Windows网络时间同步相关的API接口: GetInterfaceActiveTimestampCapabilities - 获取网络接口当前生效的时间戳能力,适用于Win10 20H1及以上系统,需NDIS 6.83驱动支持硬件时间戳功能。 GetInterfaceSupportedTimestampCapabilities - 查询网络适配器支持的所有时间戳功能,无论是否启用,返回结果包含硬件时钟频率、PTP协议支持等信息。 CaptureInterfaceHardwareCros

2025-10-16 21:15:00 1640

原创 根据招聘信息生成的钉钉技术栈要求日常工作内容以及面试准备路线图

钉钉桌面端开发工程师岗位要求掌握C++/Objective-C等语言,熟悉Chromium/Electron框架,具备音视频、网络通信、系统底层交互等能力。日常工作涉及性能优化、跨平台兼容、多进程架构、安全加固等。面试需重点准备C++、Windows/Mac系统API、Chromium源码及架构设计,突出跨端开发与性能调优经验。

2025-10-16 21:15:00 1330

原创 为什么钉钉桌面端要基于 / 依赖 Chromium 类架构(动机与好处)

钉钉桌面端基于Chromium架构开发,主要出于跨平台开发效率、Web技术复用、音视频支持及安全隔离等需求。Chromium提供的Blink渲染引擎、V8脚本执行、WebRTC多媒体能力及多进程模型,能快速实现富交互界面、实时通信和企业级安全要求。Windows开发需重点关注CEF/Electron选型、GPU兼容性、音视频集成、自动更新及企业网络适配等挑战。该方案虽带来安装包体积和版本管理等代价,但能显著降低多平台维护成本。

2025-10-15 21:30:00 1389

原创 Chrominum的技术架构

Chromium采用多进程架构提升性能与安全性,主要包含浏览器进程(全局控制)、渲染进程(Blink+V8引擎处理页面)、GPU进程(图形加速)、网络进程(独立处理请求)等核心模块。通过Mojo IPC实现跨进程通信,采用沙箱机制隔离风险。其渲染流程从HTML解析到GPU合成显示形成完整管线,结合多线程优化(如主线程、合成线程等)。关键组件包括Blink引擎、V8 JavaScript引擎、Skia绘图库等,实现硬件加速、快速响应等目标。整体架构体现模块化、并行化设计,平衡功能扩展与安全隔离。

2025-10-15 21:15:00 2081

原创 Python三维网格处理库Trimesh详解

Trimesh是一个强大的Python三维网格处理库,支持多种3D模型格式的加载、编辑、分析和可视化。它提供了丰富的功能,包括模型变换、布尔运算、网格简化、碰撞检测、点云采样等。安装简单(pip install trimesh),可轻松处理体积、表面积计算,修复网格缺陷,并集成VTK等库进行高级渲染。适用于3D打印、计算机视觉和机器人仿真等领域,通过简洁API实现复杂3D模型处理流程,如模型合并、优化和可视化场景管理。

2025-10-14 12:00:00 1523

原创 Fast DDS 默认传输机制详解:共享内存与 UDP 的智能选择

Fast DDS默认采用智能传输选择机制,优先使用共享内存(SHM)进行同主机进程间通信,跨主机时自动切换为UDPv4。传输层优先级为:进程内通信>共享内存>UDP。用户可通过QoS配置自定义传输方式,如禁用SHM强制使用UDP,或调整传输参数。系统提供日志监控功能,可通过环境变量或代码设置RTPS_TRANSPORT日志级别来验证实际传输选择。该机制实现了高性能(零拷贝)与跨网络通信的自动平衡,简化了开发复杂度。

2025-10-13 21:30:00 1858

原创 win10下Qt应用程序使用FastDDS

Qt与Fast DDS通信实现指南摘要 本文介绍了Qt应用程序与Fast DDS通信的实现方法。主要内容包括: 发布端实现: 定义发布数据类DDSPublisherManager,采用单例模式 封装DDS发布者生命周期管理功能 包含初始化、数据发布等核心方法 实现DomainParticipant、Topic、Publisher等对象的创建 关键步骤: 注册自定义数据类型 设置QoS参数 处理发布匹配事件 提供线程安全的单例访问 该实现参考Fast DDS官方示例,适用于Qt开发环境,可用于构建分布式系统中

2025-10-13 21:15:00 396 2

原创 深入理解 Fast DDS:DataReaderListener 与 DataWriterListener 工作机制详解

本文深入解析了Fast DDS中的DataReaderListener和DataWriterListener机制。这两种监听器采用事件驱动方式,为发布-订阅通信提供高效的非阻塞回调。DataReaderListener包含7个关键回调函数,处理数据到达、匹配状态变化等事件;DataWriterListener则提供4个回调,监控发布者状态和QoS兼容性。文章通过代码示例展示了如何继承这些监听器类并实现关键回调,如on_data_available()和on_publication_matched(),使开发

2025-10-12 10:00:00 727

原创 Fast DDS 官方示例程序 `HelloWorld_main.cpp`的详细中文讲解 + 完整注释版本

Fast DDS HelloWorld示例程序详解 该程序是一个命令行驱动的Fast DTS演示程序,主要功能包括: 运行模式选择 支持启动为Publisher(数据发布者)或Subscriber(数据订阅者) 通过命令行第一个参数指定模式(publisher/subscriber) 参数配置 发送次数控制(--samples) 发送间隔设置(--interval,默认100ms) 是否从环境变量加载QoS配置(--env) 实现细节 使用optionparser库处理命令行参数 包含完整的参数验证机制(数

2025-10-11 12:30:00 400

原创 《Fast DDS 详解:工业级实时通信的引擎》

Fast DDS:工业级实时通信解决方案 Fast DDS是eProsima公司基于OMG DDS标准开发的高性能开源通信框架,具有跨平台、跨语言、零中间件等特点,是ROS 2的默认通信中间件。文章详细解析了Fast DDS的核心架构,包括其基于发布-订阅模型的通信原理、关键组件(DomainParticipant、Publisher/Subscriber等)以及RTPS底层协议实现。通过实际应用场景(如机器人控制、车载系统)和C++代码示例,展示了Fast DDS的可靠传输、实时分发等特性。文章还对比了不

2025-10-11 12:15:00 1393

原创 《gRPC 与 Thrift 的架构与性能对比 — 实战篇》

本文对比了 gRPC和Thrift的架构与性能差异,通过Python代码示例展示了两种RPC框架的最小实现,并提供了可复现的基准测试方法。gRPC基于HTTP/2和Protobuf,适合云原生和流式场景;Thrift支持多种传输协议,在轻量级场景更具灵活性。文章包含详细的性能测试步骤和选型建议,帮助开发者根据实际需求选择合适方案。

2025-10-10 18:30:00 2153

原创 RPC 通信详解:一次搞懂分布式系统的“远程调用魔法”

RPC(远程过程调用)是一种让远程服务调用像本地函数调用的技术,通过序列化、网络传输和反序列化实现分布式通信。核心组件包括Stub代理、序列化协议(如Protobuf)、传输层(TCP/HTTP)和服务注册中心。典型框架如gRPC(高性能)、Thrift(轻量)和Dubbo(Java生态)。相比REST,RPC更高效但可读性较弱,适合微服务内部通信。其本质是隐藏分布式复杂性,使远程调用更自然。

2025-10-10 18:15:00 913

原创 《常用 IDL(接口定义语言)详解与对比》

IDL(接口定义语言)详解与对比 IDL是跨语言通信的契约语言,用于定义数据结构、接口和通信协议,通过代码生成实现多语言兼容。主流IDL分为三类: 实时通信(OMG IDL):适用于DDS/ROS 2,强实时性但生态偏底层。 RPC通信(Thrift/Protobuf):Thrift多语言支持好,Protobuf性能更优,是gRPC标准。 数据流(FlatBuffers/Avro):FlatBuffers零拷贝解析,适合游戏/嵌入式;Avro支持Schema演化,专为Kafka/Hadoop设计。 选型建议

2025-10-09 21:15:00 1108

原创 FastDDS官方HelloWorldPublisher详解

该代码实现了一个基于Fast DDS的"HelloWorld"发布者,用于发布消息到指定主题。主要功能包括初始化DDS参与者、创建发布者、注册消息类型、设置主题和写入器,并实现消息的持续或指定次数的发布。代码包含资源清理逻辑,确保在析构时正确释放DDS资源。发布者通过监听器跟踪匹配状态,支持两种运行模式:持续发布直到停止,或发布指定数量的样本。每次发布都会递增消息索引并输出发送日志。

2025-10-09 18:30:00 1034

原创 Qt开发的应用程序编译链接Fast DDS库

本文介绍了Fast-DDS的开发流程和集成方法。主要内容包括:1)使用Fast-DDS-Gen工具生成IDL转换的C++类型支持代码;2)Fast-DDS库的编译安装,建议统一安装到固定路径供多个程序调用;3)主程序(publisher)和子程序(subscriber)的开发方式,只需链接Fast-DDS库和IDL生成代码。文章详细说明了Windows环境下Fast-DDS的编译配置步骤,包括依赖项准备和Qt项目集成方法。最后指出目前遇到的Boost库链接问题,建议后续尝试更新版本解决。整个流程强调Fast

2025-10-08 20:18:09 1043

原创 IDL 入门指南 —— 从零编写你的第一个 IDL 文件

本文介绍了IDL(接口定义语言)的基本概念和应用场景。IDL是一种平台和语言无关的中间语言,用于定义数据结构、接口和类型,广泛应用于分布式系统、实时数据分发(如DDS)、gRPC等技术中。文章通过一个学校管理系统的示例,详细讲解了IDL的基本语法,包括模块(module)、结构体(struct)、基本数据类型和复合类型(如动态数组sequence)。重点说明了sequence的动态扩容特性及其在表示不定长数据集合时的优势。最后列举了IDL在CORBA、嵌入式系统等领域的典型应用场景。

2025-10-08 17:01:05 1224

HoloOcean水下机器人仿真环境开源代码20250908

HoloOcean水下机器人仿真环境开源代码(版本20250908)是一个基于Unreal Engine 4构建的高保真水下仿真平台,提供逼真的水下物理引擎、多传感器模拟系统和Python API控制接口。该资源包含完整的水下环境场景、多种AUV模型、声学与光学传感器模块,以及丰富的示例代码,支持水下机器人算法开发、传感器仿真和多智能体协同研究,为海洋机器人研究与教育提供开源解决方案。

2025-09-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除