自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 QML 中利用 Context2D 绘制圆形

/绘制圆弧 arc(x , y , radius , startAngle , endAngle , anticlockwise) /*参数解释:x (Number): 圆弧的中心点的 x 坐标y (Number): 圆弧的中心点的 y 坐标radius (Number):圆弧的半径startAngle (Number):圆弧的起始角度(以弧度为单位)endAngle (Number):圆弧的结束角度(以弧度为单位)

2025-01-03 14:21:52 170

原创 QML绘制 2D 图形,使用Canvas元素示例

【代码】QML绘制 2D 图形,使用Canvas元素示例。

2025-01-03 14:06:17 210

原创 QML语法入门

Item {width: 200// 定义一个自定义信号,带有一个字符串参数width: 200//处理鼠标交互// 触发自定义信号,并传递参数")自定义信号:通过 signal 关键字定义信号,然后在适当的时机使用 clicked() 或 signalName()语法发射信号,传递所需的参数。连接信号和槽:使用 onsignalName语法来处理信号,可以在其他组件中接收信号并执行相应的逻辑。模拟自定义事件:通过MouseArea。

2025-01-03 13:48:55 715

原创 【问题解决】Could NOT find PythonLibs (missing: PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS)

新增 find_package(PythonInterp)

2024-09-20 09:55:38 608 1

原创 DPDK环形缓冲区——ringbuf

环形缓冲区(ringbuf)是DPDK中的一个关键组件,主要用于在不同线程和进程间无锁传递数据,以实现高速数据访问。

2024-08-08 13:33:53 586

原创 DPDK实现TCP/IP协议(三)---丢包

序列号分析:通过分析序列号和确认号来识别丢包。如果一个具有较高序列号的数据包在具有较低序列号的数据包之前到达,就可以推断出有数据包丢失。检测重复ACK:当发送方收到连续三个或以上的重复ACK时,它假定数据包丢失。ACK超时:为期望的数据包设置超时。如果数据包在指定时间内未到达,则认为其丢失负确认(NACK):使用NACK来显式地指示丢失的数据包,当检测到序列中断时发送NACK根据序列号// 丢包检测逻辑i < nb_rx;i++) {// 提取IP头部。

2024-08-05 16:17:08 614

原创 DPDK实现TCP/IP协议(二)--拥塞控制

DPDK主要用于在用户空间加速数据包处理。DPDK可以通过其提供的加速数据包处理能力来构建自己传输层协议或优化现有协议。DPDK本身并不提供拥塞控制机制,但可以使用DPDK来实现现代化的拥塞控制算法,结合传统TCP/IP协议栈,加速数据包的发送和接收。

2024-08-04 17:37:05 304 2

原创 DPDK实现TCP/IP协议(一)----组包

在DPDK中,采用struct rte_ether_hdr定义以太网协议头。以下是DPDK中以太网头的结构体。DPDK中IP协议头的结构体。DPDK中IP协议头的结构体。

2024-08-03 15:21:22 1030

原创 DPDK实现数据包的收发

DPDK(Data Plane Development Kit)允许应用程序直接访问网卡,从网卡数据缓冲区获取数据。1.配置hugepage。

2024-08-02 20:21:25 947

原创 DPDK简单配置启动示例

分配一组数据包缓冲区,并使用 rte_eth_tx_burst 函数一次性发送这些数据包。配置第一个可用的以太网设备 (port_id = 0) 的接收和发送队列。该结构体包含多个字段,用于描述以太网设备的配置信息。该结构体包含多个字段,用于描述接收队列的配置信息。– max_rx_pkt_len: 最大接收数据包长度。成功时返回指向创建的内存池的指针,失败时返回 NULL。– split_hdr_size: 拆分的头部大小。配置第一个以太网设备的发送队列。配置第一个以太网设备的接收队列。

2024-07-21 16:42:54 1057

原创 hugepage配置

由于hugepagesz 默认为2M,需要修改hugepagesz >2M ,GRUB_CMDLINE_LINUX后需要增加参数default-hugepagesz=1G修改默认hugepagesz ,否则可能无法分配hugepages。以hugepagesz = 1G hugepages=10为例,hugepagesz * hugepages = 10G =10240M,需要10G的内存空间,实际只能分配出5个hugepage。查看可用的内存大小,以M为单位。当内存free空间等于5891时。

2024-07-19 17:21:48 514

原创 dpdk无坑环境搭建

ubuntu终端下执行命令。

2024-07-18 20:41:23 246

原创 问题解决:dpdk-19.08.02编译报错

这个原因是由于找不到pci_set_dma_mask函数。可用命令检查uname -r内核版本是否支持。

2024-07-17 23:55:45 450

原创 DPDK环境搭建

DPDK环境搭建

2024-07-16 15:17:45 834

原创 问题解决:gcc: error: unrecognized command-line option ‘-ftrivial-auto-var-init=zero’

问题解决

2024-07-16 00:58:24 1287

原创 问题解决:error: RPC failed; curl 92 HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)

问题解决

2024-07-16 00:05:22 350

原创 【C++学习笔记】Lambda表达式的基本使用方法

Lambda表达式的基本使用,用于快捷语法查询

2023-11-07 15:10:49 387

空空如也

空空如也

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

TA关注的人

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