影帝sunny
码龄9年
关注
提问 私信
  • 博客:27,987
    动态:25
    28,012
    总访问量
  • 29
    原创
  • 2,257,485
    排名
  • 14
    粉丝
  • 0
    铁粉

个人简介:无奈的时候,尽管前行

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2015-12-13
博客简介:

影帝

博客描述:
技术交流
查看详细资料
个人成就
  • 获得16次点赞
  • 内容获得5次评论
  • 获得79次收藏
创作历程
  • 2篇
    2023年
  • 3篇
    2022年
  • 24篇
    2021年
成就勋章
TA的专栏
  • linux网络编程
    付费
    4篇
  • 车载以太网
    2篇
  • linux内核源码
    3篇
  • 笔记
  • linux
    6篇
  • 工具
    1篇
  • docker
    1篇
  • linux性能分析
    2篇
  • go
    4篇
  • leetcode
    1篇
  • c++
    1篇
  • C
    5篇
兴趣领域 设置
  • 硬件开发
    驱动开发
  • 网络空间安全
    安全架构
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

C++ STL之std::map:红黑树的魔法与性能测试

最近在使用C++写代码,也是刚接触C++,恰巧碰到一个需要使用map的地方,不知道其查找元素的性能怎么样,所以研究了下,做个记录,目前从x86平台测试map查找一个元素大概需要2us,这里你需要考虑在自身硬件平台比如arm,做一些cpu加压情况下再查看map效率以评估map是否满足业务需求。本文将深入探讨std::map以及其核心红黑树的原理,解释其关键特性,包括插入、查找和删除操作,以及有序性的优势。如果一个节点是红色的,那么它的子节点必须是黑色的:这一性质确保没有两个相邻的红色节点。
原创
发布博客 2023.10.20 ·
421 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

pcie电源管理

这个状态的目的是节省链路的电力消耗。PCIe通信包括L0,L0s,L1,L2,L3五种状态,其中L0是工作状态,L0s是睡眠状态,L1是低功耗状态,L2是更低的功耗状态,L3是更低的功耗状态.L1是PCI Express链路电源管理的一种状态,指的是链路中的设备在空闲状态下的高休眠状态。在进入L1状态和L2状态时,需要满足一些先决条件,例如设备必须支持L1和L2状态,并且连接必须支持L1和L2状态。请注意,不是所有的PCIe设备都支持所有的D状态和L状态,具体的支持情况取决于设备的硬件和驱动程序的实现。
原创
发布博客 2023.08.12 ·
3647 阅读 ·
2 点赞 ·
0 评论 ·
9 收藏

自学车载以太网笔记(2)

关注囧囧妹微信公众号了解更多内容
原创
发布博客 2022.08.07 ·
3237 阅读 ·
5 点赞 ·
1 评论 ·
22 收藏

自学车载以太网笔记(1)

关注囧囧妹微信公众号了解更多内容
原创
发布博客 2022.08.07 ·
898 阅读 ·
1 点赞 ·
0 评论 ·
6 收藏

一起撸linux内核29-编译内核并使用qemu运行起来

gcc-arm-linux-gnueabi和gcc-arm-linux-gnueabihf的区别:gcc-arm-linux-gnueabi是针对软浮点运算,gcc-arm-linux-gnueabihf针对硬浮点运算。这里我遇到了问题,需要通过sudo apt install u-boot-tools来安装uboot-tools。在同一个目录下,创建一个qemu的启动脚本start.sh:​​​​​​​​​​​​。然后把内核和设备树拷贝到一个目录里:​​​​​​​。配置编译:​​​​​​​。......
原创
发布博客 2022.08.07 ·
762 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

一起来撸linux内核。

一起撸linux内核13-io多路复用之select(1)
发布动态 2022.02.25

sk_buff操作函数(1)

我使用的Linux内核版本4.4.266sk_buff所在的文件/linux-4.4.266/include/linux/skbuff.h
原创
发布博客 2021.06.08 ·
307 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

sk_buff详解

我用的Linux内核版本4.4.266sk_buff结构体定义在文件/linux-4.4.266/include/linux/skbuff.h
原创
发布博客 2021.06.07 ·
544 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

基于netfilter截取内核网络数据包

Netfilter结构就是在整个网络处理流程中放置了一些检测点,每个检测点都可以对网络数据包进行操作,IP层的五个hook点如图:
原创
发布博客 2021.05.30 ·
291 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

cmake安装后执行cmake error:could not find cmake_root!!!

cmake安装后执行cmake error:could not find cmake_root!!! 如图:解决办法:hash -r 清空缓存的hash表扩展:hash命令系统初始hash表为空,当外部命令执行时,默认会从PATH路径下寻找该命令,找到后会将这条命令的路径记录到hash表中,当再次使用该命令时,shell解释器首先会查看hash表,存在将执行之,如果不存在,将会去PATH路径下寻找,利用hash缓存表可大大提高命令的调用速率。...
原创
发布博客 2021.05.24 ·
1336 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

01-关于镜像的笔记

镜像的操作:docker pull 拉取远程仓库的镜像到本地 docker tag 重命名镜像 docker image 查看本地存在的镜像 docker rmi 删除无用镜像 构建镜像: docker build 基于dockerfile构建镜像 docker commit 基于已运行的容器提交为镜像 构建镜像的方式:1,使用docker commit  说几个选项的含义:选项 选项简写 说明 –detach -d 在后台运行容器,并且打印容器
原创
发布博客 2021.05.22 ·
143 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

crond服务总结

昨天翻阅程序发现服务器端管理程序的启动方式很特别,在之前是由init进程启动程序脚本里的进程,昨天发现服务程序并没有在任何脚本中有启动的体现,但是服务程序确实是启动了,经过一番查找发现原来是crond定时启动被触发然后启动了服务程序。crond很久不见了,现在整理下。 了解 crond是一个后台守护进程,定时执行任务。最小检测时间是分钟。crontab是用来增删改查定时任务的工具。每个用户都有自己的crontab,虽然文件位于/var/spool/cron/crontab但是不能直接编辑。位
原创
发布博客 2021.05.22 ·
619 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

beego项目部署到nginx(含http转https)

之前的程序部署到服务器采用的直接部署,比较方便,现在把它部署到nginx,以便后续的反向代理和负载均衡,同时,因为要接入微信小程序,所以需要将之前的域名http://www.xxxxxx.com转成https://www.xxxxxx.com。更多内容可关注公众号,里面都是作者原创。1,安装Nginx。 卸载原来的nginx:sudo apt-get —purge autoremove nginx安装nginx:sudo apt-get install ngin...
原创
发布博客 2021.05.22 ·
519 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

nanomsg安装和测试

最近在构建一个中间层的通信架构,本来想用dbus,在实验过程中发现dbus对于国产系统支持版本比较低,安装比较麻烦,今天无意中看中了nanomsg,尽管没有dbus那么强悍的生态,但基本能满足需求。 nanomsg是一个轻量级的消息通信组件,是zeromq的作者之一用C语言去重写的通信框架,其无需进一步依赖,可在多种操作系统运行。介绍就不多说了,可直接去官网查询,该官网是我目前见过感觉最简洁大方的网站。更多内容可关注公众号官网地址:https://nanomsg.org/...
原创
发布博客 2021.05.22 ·
1142 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

QT实现五子棋游戏

FIR.pro#-------------------------------------------------## Project created by QtCreator 2012-09-01T15:09:11##-------------------------------------------------QT += core guiTARGET = FIRTEMPLATE = appSOURCES += main.cpp\ widget.
原创
发布博客 2021.05.22 ·
246 阅读 ·
0 点赞 ·
1 评论 ·
1 收藏

leetcode-206翻转链表

关注囧囧妹了解更多的编程知识题目: 反转一个单链表。可以迭代或递归地反转链表。 示例:输入: 1->2->3->4->5->NULL;输出: 5->4->3->2->1->NULL。 算法说明:声明两个临时变量tmp和prev,且初始值为NULL;当遍历节点不为NULL则循环以下四步:1,将链表要翻转的当前节点的next节点保存到tmp;2,将当前节点的next节点指向前一个节点prev;...
原创
发布博客 2021.05.22 ·
98 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

linux软件包管理器安装和编译

linux安装软件大致有两种方式:  1,通过包管理器安装  2,通过源码编译包管理器安装  主流的包管理器有rpm和dpkg,dpkg一般用于衍生于debian的linux操作系统,如ubuntu。rpm一般用于redhat,centos。  rpm和dpkg都提供了查询安装的某个软件包,安装,删除等一系列指令。  但是存在一个依赖的问题,如何解决呢?  用dpkg或rpm的时候可能需要解决十几个依赖包的问题,过程艰辛,因此现在大多在使用apt和yum。  yum的服.
原创
发布博客 2021.05.22 ·
277 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

关于函数和方法总结

匿名函数:类似与C中的函数指针,定义一个函数,该函数的地址通过一个指针指向,然后操作该指针。如:func main(){ ptr := func(a,b int) int { return a+b } fmt.Println(ptr(2,3))}所谓闭包就是在函数内定义的内部函数,可以使用外部函数的变量。如:func main(){ ptr := culcu() fmt.Println(ptr()) fmt.Pr
原创
发布博客 2021.05.22 ·
99 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

linux系统性能分析工具使用(1)

该文通过实战性能分析来学习工具的使用和总结的大致分析步骤以供参考。系统ubuntu 18.04首先需安装如下:sudo apt-get install sysbenchsudo apt-get install sysstat获取root;sudo -i 快速切换到root,不加-i会以非登录模式切换,不会拿到root的环境的变量开始前先查看当前系统的情况:root@parallels-Parallels-Virtual-Platform:~# vmstatprocs ------
原创
发布博客 2021.05.22 ·
137 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

perf工具

最近学习go,看到古狗对go程序分析做了很多性能分析的工具,发现真心不错,所以我在想c有没有比较直观的工具,之前对内存用过valgrind,显然它并不直观,需要人为的去分析那些数据,perf工具产生的data依然不是很好分析,这里感谢开源,Flamegraph可以把perf产生的数据生成火焰图,尽管和go的Pprof没法比,但已然不错了。【perf安装】parallels@parallels-Parallels-Virtual-Platform:~$ perfCommand ‘perf’ not f
原创
发布博客 2021.05.21 ·
471 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多