自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 问答 (1)
  • 收藏
  • 关注

原创 借助libbpf/libxdp使用AF_XDP,我们都需要做什么——以一个简单程序为例

AF_XDP是一种Linux提供的针对高性能数据包处理进行优化的地址族协议,为了进一步的理解和熟悉,我们以一个返回IPv4 ICMP Ping报文的程序为例,看看借助libbpf/libxdp使用AF_XDP,我们都需要做什么

2022-12-05 23:47:03 3769 5

原创 C/C++的static有什么用

本文全介绍C/C++的static关键字,并记录自己的问题。

2022-10-08 17:39:57 1394

原创 如何远程连接到同一局域网下路由器下挂的主机

之前在宿舍远程到实验室的电脑一直挺顺,因为宿舍的笔记本和实验室的主机直接连接的校园网;现在把实验室主机接到OpenWrt路由器下边,拓扑图如下,主机IP变成了路由器LAN口下局域网IP,笔记本就不能直接访问了;要解决的问题:笔记本如何直接远程到实验室主机?比较简单的就是通过端口映射了,在路由器luci网页上找这个功能找了半天,在此记录一下。

2022-10-07 17:30:00 1868

原创 lspci是如何工作的

出于好奇,看了看lspci的工作原理,操作系统是怎么认识这么多PCIe设备的;

2022-09-05 14:15:11 1123

原创 UIO & VFIO: DPDK实现PMD的基石

写这篇只因为好奇PMD是如何实现在用户空间,所以只涉及表层和一点皮下知识

2022-08-05 11:23:51 1898 2

原创 【笔记】什么是内核/用户空间 从CPU如何运行程序讲起

本文从计算机是如何运行程序开始说起,说明什么是内核空间(kernel space)和用户空间(user space),以及两者区别;

2022-07-22 13:27:39 885

原创 【笔记】图说Linux下的虚拟内存寻址、页表

很多地方都需要了解虚拟内存、内存寻址、页表、页表项这些概念,今天集中总结一下

2022-07-22 00:19:11 1161

原创 如何为当前用户永久修改PATH环境变量?bash默认的启动脚本到底是哪个文件?什么是login shell?

ubuntu配置在系统脚本~/.bash_profile里的环境变量为什么重开terminal后又不生效了?如何为当前用户永久修改PATH环境变量?bash默认的启动脚本到底是哪个文件?`~/.bashrc`、`~/.bash_profile`、`~/.profile`还是`~/.bash_login`?* 什么是`login shell`?什么又是`非login shell`?

2022-05-13 22:44:57 532

原创 在class中初始化vector成员发生的most vexing parse问题

在class中带容量初始化vector时,发生报错。本文讲了为什么报错以及如何避免这类问题。

2022-05-07 15:24:14 711

原创 【多图警告】彻底搞懂浮点数

本文用大量图片讲解了浮点数在计算机中的存储方式以及浮点数的最值、精度等问题,文末有测试用的C++程序

2022-05-04 23:19:25 7690 6

原创 Linux下的性能分析

从目标和方法论谈起——Linux下如何对系统和应用进行性能分析

2022-04-25 21:23:01 1114

原创 我C++的getline输入为什么出现了问题?——两个样例

一直没把输入输出当回事,毕竟笔试题什么的都是固定好的输入格式,直到有一次想玩点花的,用getline+分隔符读取输入出现了BUG,才正视我根本不懂C++的输入……

2022-04-14 22:23:48 5277 3

原创 动图详解平衡树——平衡的二叉搜索树

【多动图警告】本文详细介绍了平衡树,加了一些动图和自己的理解

2022-04-10 21:13:03 1487 1

原创 动态规划(dp)的总结

动态规划只要找到子问题,写起来就很简单,通常最多就二维dp数组即可解决问题,顶多再来个双dp,再加点逆向思维……下面列出我见过的子问题,别栽在dp上了,求求了。

2022-04-05 23:53:17 3505

原创 回溯法(dfs)的总结

算法小白记录回溯法(DFS)的解题,就希望以后别在回溯题上磨半天了;

2022-04-03 21:24:58 475

原创 【记录】C++运算符上遇到的一些坑

以此博客记录我在刷题中遇到的那些坑,记录的同时也希望帮到可能的读者吧。

2022-04-02 19:13:59 1192

原创 快速排序法及其优化

快速排序

2022-03-31 20:25:02 1297

原创 什么是虚拟化?

简要介绍什么是虚拟化,回答现有通用的虚拟化方案及对应的优劣、应用场景。——招聘问题引发的调研总结

2022-03-29 15:13:31 18499 3

原创 什么是SR-IOV?先用起来再说

如果再有人问我什么是SR-IOV,我可以把我搭建好的SR-IOV环境展示给他:nuo,这就是SR-IOV。

2022-03-29 10:43:24 14744 1

原创 以LeetCode实例说明图问题——初学图

本文面向:很多题能用很简单的图做出来,但思路到了,代码实施不出来,脑海中没有一个模板……的图小白

2022-03-27 22:31:17 1065

原创 [详细思路]如何用C++通过位运算实现int整数的加减乘除运算

如何只通过位运算实现int整数的加减乘除运算,不使用+-*/%等直接的运算符和库。从加法开始,详细讲解。

2022-03-05 23:42:53 2953 1

原创 讲讲class和struct的区别

面试常见问题:C++中class和struct的区别

2022-02-28 17:33:59 557

原创 简述时间复杂度和空间复杂度

时间复杂度和空间复杂度前言刷剑指offer、leetcode常会看到时间复杂度和空间复杂度的要求,初识总是陌生的。本文将从一些例子讲起,让读者简单了解时间/空间复杂度的概念。首先介绍概念我们说的复杂度,是针对某个算法而言的,维基百科也有讲,是"算法的时间复杂度":在计算机科学中,算法的时间复杂度(Time complexity)是一个函数,它定性描述该算法的运行时间。这是一个代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。使用这种方式时,时间复杂

2022-01-17 22:21:43 746

原创 打破砂锅系列:进程与线程

打破砂锅问到底系列——深入讲解什么是进程和线程,以及他们之间的联系和区别。

2021-12-15 15:45:43 557

原创 NSDI‘16 FlowRadar: A Better NetFlow for Data Centers-阅读笔记

NSDI'16 FlowRadar: A Better NetFlow for Data Centers的阅读笔记

2021-12-14 21:09:41 1144

原创 netflow generator: 开源工具nfgen的源码研读和修改(上)

nfgen的修改工欲善其事,必先利其器。最近在做nfdump-nfcapd的测试,需要以网卡线速度(10Gbit/s)发netflow的UDP数据包,需要支持netflow v5、v9,最好能自己设置速率。然而网上Linux环境的netflow生成器不是花里胡哨达不到线速度,就是只支持netflow v9,导致测试的时候很是憋屈。这天看着开源工具nfgen的代码陷入沉思:这不就是在发固定的报文吗?我自己修改一下不就好了。nfgen代码分析程序以C++实现,代码其实也就几百行,不如在分析的同时也精进

2021-11-29 00:37:30 2164

原创 Win10下如何在右键新建菜单使用Typora新建.md文件

打开文件夹,每次想在当前位置新建md文件的时候,要么打开Typora,保存到当前位置,要么从旁边复制一个md文件,再删掉重开,很是麻烦。怎么像新建word、excel一样直接右键新建md文件呢? 试了网上一些解决方案,要么没成功,要么还得重启。话不多说,总结出这个简单的方法,改注册表,无需重启,希望能帮到有同样需求的你。附一张结果展示:win+R打开运行窗口输入regedit,确定后进入注册表编辑器,定位到计算机\HKEY_CLASSES_ROOT\.md(拉到顶选中HKEY_CLASSES_RO

2021-09-22 20:37:31 1302

原创 一文解决C语言运算符的优先性与结合性——Think like a computer

文章目录前言故事的开端什么是运算符的优先级和结合方向优先级结合方向前言写这篇就为了再遇到稍微复杂一点的表达式不至于绕晕;优先级和结合方向不再赘述,随便一搜就都有了,在优先级和结合方向上我借鉴的是这篇;注意,虽然有优先级和结合方向一说,但是程序不止是给机器编译的,也是给人看的,做个人,该括括号的时候,尽量提高可读性吧!故事的开端 for (i = 0; i < XSK_RING_PROD__DEFAULT_NUM_DESCS; i ++) *xsk_ring_prod__fill_addr

2021-09-12 22:37:05 379

原创 初学XDP/eBPF常用的一些结构体和函数、概念

文章目录前言结构体(libbpf中的)xdp_mdstruct bpf_mapstruct bpf_object函数(libbpc中的)bpf_object__find_map_by_namebpf_map__***bpf_map__namebpf_map__fd相关的其他函数/结构体setrlimit/getlimit关于这个资源限制再多说两句前言作为自己学XDP、eBPF的一个记录和参考,同时包括对一些概念的理解,后续会陆续补充;结构体(libbpf中的)疑问:为什么linux源码里面有些结

2021-09-12 14:34:50 1542

翻译 AF_XDP

目录前言AF_XDP概述前言本文翻译自https://www.kernel.org/doc/html/latest/networking/af_xdp.html,刚开始学AF_XDP,翻译或有纰漏,还请指出。文中使用(斜体文字)标出了本人翻译中的疑问,后续围绕本文继续完善概念。AF_XDP概述AF_XDP是优化的地址族,用于高性能包处理。本文假定读者熟知BPF和XDP,如果对它们不熟悉,Cilium项目对其有一份优秀的指南cilium.readthedocs.io/en/latest/bpf/

2021-09-11 21:14:51 2028

原创 Netronome智能网卡——XDP卸载

目录前言简介XDP卸载优势应用软硬件准备网卡驱动和设置更新固件卸载示例卸载方式前言本文对XDP卸载到智能网卡做一个记录,XDP和eBPF的概念参考Cilium的BPF和XDP指南简介我手头的两块智能网卡型号为Agilio CX 2x25GbE,具有两个25G速率的端口,需要安装对应的光模块,SFP+的光模块能达到10G速率,SFP28的光模块能达到25G速率;网卡支持DPDK、P4可编程、OVS卸载、XDP卸载等功能,适用于云IaaS/PaaS、NFV、数据中心微分段、网络遥测、零信任安全等多种场

2021-09-02 10:04:29 2172 1

原创 nfdump的性能分析

这里写自定义目录标题netflow简介欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入netflow简介netflow是思科在1996年开发的用于监测ip网络流状态的技术,由以下三个部分组成

2021-09-01 22:17:16 4390 2

空空如也

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

TA关注的人

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