自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

阿呆的隐秘角落

C/C++坑中挣扎中的男人

  • 博客(215)
  • 问答 (5)
  • 收藏
  • 关注

原创 AutoSAR CP 飞阅TIME

AUTOSARAUTomotiveOpenSystemARchitecture),中文是“汽车开放系统架构”,是一家致力于制定汽车电子软件标准的联盟。他们制定了一套专门用于汽车的开放性的框架和行业标准,它将用作管理将来的应用程序和标准软件模块中功能的基本基础结构。I/O Hardware Abstraction是一组模块,从外围I/O设备(片上或板上)的位置和ECU硬件布局(例如µC引脚连接和信号电平反转)中抽象出来。I/O硬件抽象不会从传感器/执行器中抽象出来!

2023-09-02 16:47:29 406

原创 libbpf-bootstrap开发指南:socket 监测与过滤 - sockfilter

做全网最好的libbpf-bootstrap 开发指南

2023-07-16 16:43:46 793 1

原创 libbpf-bootstrap开发指南:网络包监测-tc

做全网最好的libbpf-bootstrap 开发指南

2023-07-16 16:42:07 744

原创 libbpf-bootstrap开发指南:系统调用hook - ksyscall

做全网最好的libbpf-bootstrap开发指南

2023-07-16 12:08:42 311

原创 libbpf-bootstrap开发指南:内核态探针- kprobe

做全网最好的libbpf-bootstrap开发指南

2023-07-16 12:07:22 464

原创 libbpf-bootstrap开发指南:静态跟踪点 - UTSD

做全网最好的libbpf-bootstrap 开发指南

2023-07-16 12:05:36 356

原创 libbpf-bootstrap开发指南:用户态探针 - uprobe

做全网最好的libbpf-bootstrap 开发指南

2023-07-16 12:04:08 306

原创 libbpf-bootstrap开发指南:使用ringbuf 进行通信 - bootstrap

做全网最好的libbpf-bootstrap开发指南

2023-07-15 21:51:43 717

原创 libbpf-bootstrap开发指南:使用map结构进行参数传递 - minimal_legacy

做全网最好的libbpf-bootstrap 开发指南

2023-07-15 21:47:33 548

原创 libbpf-bootstrap开发指南:适用于docker等虚拟环境的进程监测 - minimal_ns

最全网最好的libbpf-bootstrap开发指南

2023-07-15 21:45:39 1141

原创 libbpf-bootstrap开发指南:第一个tracepoint 监测demo - minimal

做全网最好的libbpf-bootstrap 开发指南

2023-07-15 21:43:51 654

原创 libbpf-bootstrap 开发指南:概念与如何安装

libbpf-bootstrap 是一个项目,旨在帮助开发者快速启动和开发使用 eBPF (Extended Berkeley Packet Filter) 和 libbpf 的程序。eBPF 是一种可以在 Linux 内核中运行的程序,提供了强大的网络过滤、系统调用监控和性能分析等功能。libbpf 是一个库,用于加载和管理 eBPF 程序和 map。libbpf-bootstrap 提供了一些样例程序和模板,帮助开发者理解如何使用 libbpf 创建、加载、管理 eBPF 程序,并与这些程序进行交互。

2023-07-15 21:41:39 1400 1

原创 FastDDS 源码剖析:DataWriter分析

目录DataWriter分析DataWriter 类分析DataWriterImpl 类分析关键函数分析DataWriter分析DataWriter 类分析DataWriter 类是 Fast DDS 库中的一个重要类,它用于实现 DDS(Data Distribution Service)发布-订阅通信模型中的数据写入功能。用途:DataWriter 类用于向特定主题(Topic)发布数据。它负责将数据写入到该主题,并将数据传输给订阅该主题的数据读取器(DataRea

2023-07-13 11:58:55 803

原创 FastDDS 源码剖析:src/cpp/fastdds 源码结构与Publisher源码分析

●set_default_datawriter_qos()和get_default_datawriter_qos():这些函数用于设置和获取该Publisher创建的DataWriter的默认QoS策略。它们声明类和类的方法。●begin_coherent_changes()和end_coherent_changes():这些函数用于开始和结束应该一起发送的一组更改。●get_listener()和set_listener():这些函数用于获取和设置Publisher的PublisherListener。

2023-07-11 10:08:41 780

原创 libbpf 开发指南:更新(替换)与给定 eBPF 链接关联的 eBPF 程序

在运行 loader 之后,请打开一个新的终端并运行 dmesg -w。返回值:如果成功,则返回 0;否则返回一个负的错误代码。

2023-07-06 10:27:13 139

原创 libbpf 开发指南:获取与给定 eBPF 链接关联的文件描述符

返回值:一个整数,表示与给定 eBPF 链接关联的文件描述符。如果发生错误,将返回负数。

2023-07-06 10:25:34 109

原创 libbpf 开发指南:打开一个已经固定在文件系统路径上的 eBPF 程序的链接

返回值:一个指向 bpf_link 结构的指针,表示 eBPF 程序的链接。如果打开链接失败,将返回 NULL。

2023-07-06 10:24:49 104

原创 libbpf 开发指南:获取与给定 eBPF 链接关联的固定路径

返回值:一个字符串,表示与给定 eBPF 链接关联的固定路径。如果未固定给定的 eBPF 链接,则返回 NULL。

2023-07-06 10:24:05 302

原创 libbpf 开发指南:自动加载BPF程序所需的内核模块

参数说明:返回值:return 0;if (!obj) {return 1;if (!prog) {return 1;return 0;CC=gccall: testclean:rm -f test./demo。

2023-07-06 10:22:06 181

原创 libbpf 开发指南:从文件系统路径解除固定 eBPF 程序

正常情况下返回 0;如果发生错误,返回负数。

2023-07-06 10:21:43 90

原创 libbpf开发指南:获取与给定 BPF 程序关联的 ELF section 名称

返回一个表示 ELF section 名称的字符串。

2023-07-06 10:21:18 149

原创 libbpf 开发指南:将 eBPF 程序固定到一个给定的文件系统路径

在这个例子中,eBPF 程序被固定在 /sys/fs/bpf/my_bpf_prog 路径。请注意,在运行示例时,需要具有适当的权限,因此使用 sudo 运行它。另外,确保 /sys/fs/bpf 目录存在。正常情况下返回 0;如果发生错误,返回负数。

2023-07-06 10:20:57 109

原创 libbpf 开发指南:获取 eBPF 程序的文件描述符

一个整数,表示 eBPF 程序的文件描述符。如果发生错误,将返回负数。

2023-07-06 10:20:19 248

原创 FastDDS 源码剖析: DDS-pub模块分析(Publisher&TAnyDataWriter)

wait_for_acknowledgments(const Duration_t&) 方法的实现原理。这个方法要求 Publisher 等待直到其所有的 DataWriter 对象收到关于它们已发布数据的确认。这意味着所有订阅者都已经成功地接收到了这些数据。源码位置:src/cpp/dds/pub/Publisher.cpp。

2023-07-06 09:34:59 363

原创 FastDDS 源码剖析:DDS部分 - types&DomainParticipant分析

源码主要在 src/cpp/dds/domain/DomainParticipant.cpp 下,在DDS体系结构中,DomainParticipant代表着在特定DDS域中参与发布和订阅数据的应用程序实体。位于src/cpp/dds中的types.cpp文件和位于include/dds/core中的types.hpp文件是FastDDS库的核心实现的一部分。cpp文件是定义空对象的源文件。总之,types.cpp和types.hpp用于定义一个特殊的空对象,该对象表示FastDDS库中的空值。

2023-07-05 10:31:44 616

原创 libbpf开发指南:获取BPF程序的名称

该函数返回一个指向BPF程序名称的C字符串。

2023-07-04 11:02:51 114

原创 libbpf 开发指南:查找具有给定名称和附加类型的内核 BTF(BPF Type Format)类型 ID

参数解释:返回值:return 0;int btf_id;return 1;return 0;CC = gccclean:

2023-07-04 11:01:04 157

原创 libbpf 开发指南:迭代一个 BPF 对象的 BPF 程序

参数说明:返回值:return 0;if (argc!= 2) {return 1;int err;if (err) {return 1;= NULL) {return 0;CC = gccclean:

2023-07-04 10:59:37 136

原创 libbpf 开发指南:根据给定的名称查找 BPF 程序类型和期望的附加类型

例如,BPF_PROG_TYPE_SOCKET_FILTER 类型的 eBPF 程序可用于过滤网络套接字上收到的数据包,BPF_PROG_TYPE_KPROBE 类型的 eBPF 程序可用于在内核函数的入口和出口处附加探针,以收集函数调用的信息。BPF_PROG_TYPE_SOCKET_FILTER, // 用于套接字过滤的 eBPF 程序。BPF_PROG_TYPE_SCHED_CLS, // 用于流量控制分类器的 eBPF 程序。BPF_PROG_TYPE_UNSPEC, // 未指定类型。

2023-07-04 10:59:29 156

原创 libbpf 开发指南:在给定的 BPF 对象中查找具有指定名称的 BPF 程序

在上述示例中,get_object_name 程序加载 BPF 对象(prog.o),然后使用 bpf_object__name 函数获取其名称。// 使用名称查找 BPF 程序。// 加载 BPF 程序。// 关闭 BPF 对象。

2023-07-04 10:55:42 113

原创 FastDDS 源码剖析:src/dds 源码结构分析与异常类

src/cpp/dds/Exception.cpp 和 include/dds/core/Exception.hpp 文件包含了 FastDDS 中异常处理相关的实现。接下来,我们看一下 src/cpp/dds/Exception.cpp 文件。这个文件包含了异常类的实现,主要是构造函数和析构函数。FastDDS中的src/cpp/dds目录包含了dds (Data Distribution Service)标准的实现。我们首先看一下 include/dds/core/Exception.hpp 文件。

2023-07-04 09:27:11 565

原创 FastDDS源码剖析:源码结构分析

examples:包含演示如何在各种场景中使用Fast-DDS的示例代码。third:包含Fast-DDS使用的第三方依赖项和库。src: 包含Fast-DDS库的源代码文件。test:包含Fast-DDS库的单元测试、集成测试和性能测试。include: 包含Fast-DDS的头文件。pcp -fastdds: Fast-DDS公共API的实现。cmake:包含从源代码构建Fast-DDS的cmake构建脚本和配置文件。docs:包含Fast-DDS的文档文件。log: Fast-DDS的日志基础设施。

2023-07-03 11:15:10 973

原创 FastDDS源码剖析:前置知识梳理(DDS、RTPS、NACK)

DDS 是一种实时数据分发服务协议,由 OMG(Object Management Group)制定。它为分布式系统提供了一种基于发布/订阅(pub/sub)模型的实时、可靠、高性能的数据通信机制。DDS 已经成为自动驾驶、航空航天、工业自动化等许多实时和安全关键领域的通信标准。全称是Real-Time Publish-Subscribe 协议。

2023-07-03 11:07:33 1012

原创 FastDDS 源码剖析:FastDDS 概述

FastDDS 是一个高性能、可扩展的开源实时传输层协议(RTPS)实现,由 eProsima 公司开发。它遵循 OMG(对象管理组织)的 Data Distribution Service(DDS)标准,这是一种面向消息的中间件,支持实时、高效、可靠、可扩展的数据通信。FastDDS 是一种发布/订阅(pub/sub)通信模型的中间件,主要目标是为分布式系统提供高效、可靠的实时数据交换。发布者(publisher)负责生成数据,而订阅者(subscriber)负责在需要时接收数据。

2023-07-03 11:06:25 1300

原创 libbpf 开发指南:获取bpf_object 关联的 BTF(BPF Type Format)信息与文件描述符

做最好的bpf教程

2023-07-02 16:37:30 216

原创 libbpf 开发指南:获取&设置bpf_object 内核版本

做最好的bpf教程

2023-07-02 16:33:33 202

原创 libbpf 开发指南:获取给定 bpf_object 的名称

做最好的bpf教程

2023-07-02 16:32:32 100

原创 libbpf 开发指南:将bpf结构固定到文件系统以便于进程共享

做最好的bpf 教材

2023-07-02 16:31:22 443

原创 libbpf 开发指南:设置libbpf的函数回调打印

做最好的BPF教程

2023-07-02 16:28:28 200

原创 libbpf 开发指南:加载BPF 程序”

做最好的libbpf 教程

2023-07-02 16:27:34 405

空空如也

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

TA关注的人

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