FastDds 库使用及详解 FastDds 库使用及详解
Recv message消息流 类之间的交互
2026-01-06
DDS 协议详解 DDS 协议详解
RTPSMessage module Qosuser_data,字符串类型,用于传递一些信息(比如网络绑定的 service name 等),用于 domain,participant
2025-12-21
Spdlog 库使用及详解 Spdlog 库使用及详解
前置知识 函数 fwrite 是 glibc 封装的一层有关 write 的接口,会在应用层再创建一个缓冲的 buffer,当调用的 fwrite 到一定的数量时,才会调用一次操作系统原生的 write。也因此有了函数 fflush,将这个
2025-08-21
SomeIp 协议详解 SomeIp 协议详解
Scalable Service-Oriented MiddlewarE over IP 基于 IP 协议,面向服务的可拓展中间件协议 MessageCompoent serviceId:当前的报文消息属于哪种服务 methodId
2025-08-04
Doip 协议详解 Doip 协议详解
Header1 字节的版本号,1 字节的版本号取反,2 字节的报文类型,4 字节的报文长度 其中报文类型为 0000 的诊断报文,是通用 doip 报文头否定响应,所有类型都需要实现的 Tcp type0x0005 路由激活请求2
2025-08-03
开发工具使用之 Gdb 开发工具使用之 Gdb
多线程调试# 查看所有线程的堆栈 thread apply all bt # 切换到指定线程的堆栈 t 线程号 # 进入正在运行的程序查看堆栈(一般用于排查死锁或者进程卡死的问题) gdb attach 进程号 # 查看当前所有线程的
2025-02-12
UDS 协议详解 UDS 协议详解
对于 UDS 协议,没法剥离出一个完全原子的概念出来理解,很多概念之间是相互穿插着的。 所以私以为一种比较好的理解思路便是,一股脑的介绍完所有的概念, 然后再通过一个简单的服务请求,或是 DTC 的报告,将这些概念逐个逐个的进行穿插和联系。
2024-07-21
开发工具使用之 Catch2 开发工具使用之 Catch2
介绍目前使用的测试框架,好处就是只有头文件,方便无论是新人还是老人进行开发(gtest 需要编译成 静态库,使用上有点难度) CHECK 和 REQUIRECHECK 和 REQUIRE 用于检测当前括号中的表达式是否为真,常用于校验函数的
2024-05-04
开发工具使用之 Git 开发工具使用之 Git
Git 常用指令add# 将某个文件的修改提交到暂存区 git add filename # 将所有发生过修改的,以及新增的文件都添加到暂存区中 git add . branch# 创建分支 git branch branch_n
2024-05-04
一些 cpp 的编码规范 一些 cpp 的编码规范
什么时候使用前置声明为了防止循环引用的情况发生 避免头文件的使用者引入过多的无用的头文件(希望屏蔽底层的实现细节) 是否需要有 assertassert 只在 debug 的模式下才会生效,而 debug 模式并不会是生产模式下
2024-03-17
开发工具使用之 Cmake 开发工具使用之 Cmake
Example常用的编译脚本和 CmakeLists.txt build.sh#!bin/sh # Create makefile cmake -B build \ -DCMAKE_BUILD_TYPE=Release \ -DCM
2023-11-21
CMU 15-445 08-Index Concurrency CMU 15-445 08-Index Concurrency
Observation前面的操作中,都假设只有一个线程去操作数据结构,但实际操作中是有多个线程同时操作数据库的 因此需要研究多线程如何安全的执行查询 并且在实现线程安全的同时,也要注意如何优化磁盘IO 存在一些只支持单线程的数据库(比如
2023-02-12
1 / 4