- 博客(16)
- 资源 (3)
- 收藏
- 关注
原创 Notepad++正则表达全解
Notepad++正则表达式符号大全包含11类常用语法:基础符号(.^$+?等)、预定义字符类(\d\w\s等)、锚点(\b\B)、量词({n,m})、分组引用(()$1)、字符集合([])、转义字符(.)、断言((?=))、换行符(\n\r)、非贪婪模式(?+?)和特殊标记((?i))。每个符号均配有功能说明和示例,如^匹配行首、\d匹配数字、.*?最短匹配等。特别说明Notepad++行模式特点,替换用$1引用分组,断言零宽度等特性。文档按逻辑分区排版,全面覆盖从基础到高级的正则用法,适合快速查询和深入
2025-07-07 17:58:05
1092
原创 gperftools应用详解
本文介绍了gperftools工具在RK平台上的交叉编译、应用监控和内存分析全流程。主要内容包括:1)源码获取与交叉编译的详细步骤及环境变量配置;2)应用集成注意事项,强调避免强制链接tcmalloc;3)运行时监控方法,推荐使用环境变量临时注入方式;4)分析工具安装与使用技巧,包括单文件分析、多文件对比和符号化处理;5)heap文件内容解读与关键数值说明;6)常用环境变量功能说明及推荐设置。文章特别指出在生产环境使用时的注意事项,并提供了性能调优和内存泄漏检测的实用建议。
2025-06-23 15:36:29
852
原创 关于Valgrind-你必须要知道的不可能
表现:如果你的程序自己实现了一套内存池(如mymalloc()myfree()),而不是调用标准库的malloc()free(),Valgrind 无法追踪这部分分配。原因:Valgrind Memcheck 只 hook 了 glibc(或其他平台 C 运行时)里常见的mallocreallocfreecallocmmapmunmap等接口。那 Valgrind 并不知道mymallocmyfree会调用sbrk()或者直接从大块内存里切分、合并。
2025-06-06 13:51:50
867
原创 linux系统下编译安装时的配置参数说明
configure配置的参数 交叉编译 host,build target的含义交叉编译profix,host,build,target的含义:--profix :指定安装路径--build:就是你正在使用的机器,--host:就是你编译好的程序可以运行的平台,--target:就是你编译的程序可以处理的平台.这个 build和host比较好理解,但是target就不好办了...
2019-05-22 15:25:58
721
原创 交换机组播协议-二层组播/三层组播总结
一、组播介绍: 组播技术解决的是以最小的网络开销实现单点发送,多点接收的问题。就实现点对多点数据传输问题,比广播/单播传输更高效,更能节省网络带宽,降低网络负载。 当ip网络中某Rx主机需要接收信息时,若采用组播方式,组播源tx仅需要发送一份信息,借助组播路由协议建立组播分发树,被传递的信息在距离组播源尽可能远的网络节点才开始复制和分发。复制分发节点如下图所示:...
2019-05-20 18:03:19
45355
1
原创 zynq系列通过XMD进行JTAG调试出错解决方案
开发环境:ubuntu13.10 芯片类型:zynq zc7020,7015 JTAG cable 驱动安装,由于安装驱动过程中是使用root权限,该驱动的使用默认也必须是root权限。测试驱动安装成功方法:以root权限打开vivado,在Program and debug中选择->handware maneger-> open target 按不着操作完后如果
2015-05-15 17:52:00
9789
转载 三个经典故事告诉你:什么叫契约精神
一、一个小孩的故事在美国纽约哈德逊河畔,离美国18届总统格兰特陵墓不到100米处,有一座孩子的坟墓。在墓旁的一块木牌上,记载着这样一个故事:1797年7月15日,一个年仅5岁的孩子不幸坠崖身亡,孩子的父母悲痛欲绝,便在落崖处给孩子修建了一座坟墓。后因家道衰落,这位父亲不得不转让这片土地,他对新主人提出了一个特殊要求:把孩子坟墓作为土地的一部分永远保留。新主人同意了这
2015-03-31 17:53:00
1455
1
原创 梳理spinlock自旋锁相关知识
自旋锁 自旋锁是为多核系统设计,在SMP系统上可以实现真正的自旋锁,但对于UP系统,自旋锁仅仅做了抢占和中断,没有实现真正的“自旋”。如果在单核中配置了CONFIG_DEBUG_SPINLOCK,按照smp系统来编译。 自旋锁的目的:针对于多核系统,保护一小段短小的临界区操作,保证这段临界区的操作是原子的,从而避免并发的竞争冒险,在linux内核中的自旋锁用于那些包含内核数据结
2015-03-17 10:23:09
1160
原创 2014年年度总结
2014年年度总结之前曾经读过一篇文章,文章中有这么一段话让人醍醐灌顶,记忆犹新:“但凡那些在职业发展上获得一定成功的人,都有一个共同的特征,那就是在自己所熟悉且擅长的领域,至少精耕细作了10年以上。而那些在职场上找不到自己位置的人,往往属于每隔一两年换方向,从来没有在某一个方向上深入积累下去。当然,除了频繁跳槽的因素之外,还有另外一个因素,那就是:已经在一个方向上深入积累,但这种积累属于重复
2015-02-05 13:18:21
795
原创 linux源码中asmlinkage的作用
linux源码中常常看到这个函数定义前加宏asmlinkage ,表示这些函数通过堆栈而不是通过寄存器传递参数。 gcc编译器在汇编过程中调用c语言函数时传递参数有两种方法:一种是通过堆栈,另一种是通过寄存器。缺省时采用寄存器,假如你要在你的汇编过程中调用c语言函数,并且想通过堆栈传递参数,你定义的c函数时要在函数前加上宏asmlinkage
2014-10-10 11:35:03
1175
原创 内核链表深度分析
内核链表深度分析:相对于数组,链表具有动态性,节点:数据域和指针域。通过指针域串联就是链表。内核链表是双向循环链表。 1.内核链表与普通链表区别:内核链表能够创建一套统一链表struct list_head{struct list_head *next, *prev;}list_head结构包含了两个指向list_head结构的指针,prev和nex
2014-09-03 16:52:59
771
原创 Xilinx zynq zc702学习总结
Xilinx zynq zc702开发:一、zynq开发整个生态系统搭建:1.基础资料获取:https://github.com/Xilinx/ (包括:交叉编译工具,linux kernel源码,u-boot源码, device-tree源码, qemu, gdb等等)http://www.wiki.xilinx.com/ (提供 了几乎所有的学习资料...
2014-07-23 14:20:51
24862
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人