- 博客(274)
- 资源 (7)
- 收藏
- 关注
原创 systemtap学习笔记
自从听到一位性能调优专家提到并展示了相关工具后,感觉到这类工具真的挑战了自己的认知。systemtap可以做什么:追踪函数调用、打热补丁、动态打印函数内部变量信息等。以前增加调试手段只能重新加载版本,现在可以借助工具动态观测,直接从原始人进化了。
2025-03-09 06:43:49
194
原创 pyinstall打包exe报错
python安装路径中已经安装了pywin32-ctypes。运行pyinstaller报错python安装路径下Lib\site-packages\PyInstaller下找到compat.py,修改文件如下。
2024-06-15 14:59:44
627
原创 python pip 安装包报错
pip install xxx --only-binary=:all:https://www.cnblogs.com/zhaopanpan/p/13161760.html
2024-06-05 16:48:00
260
转载 ebpf学习资料
博主整理了一些资料,专题也有介绍ebpf使用: 三天高效入门 eBPF的开发:学习计划与纲要_ebpf 培训-优快云博客深入浅出 eBPF: (Linux/Kernel/XDP/BCC/BPFTrace/Cillium)_深入浅出xdp-优快云博客知乎ebpf入门介绍:超详细干货!eBPF入门与实践指南eBPF 实践教程: 通过 socket 或 syscall 追踪 HTTP 等七层协议 - 知乎
2024-03-25 21:34:34
137
原创 ARM汇编知识积累
pc:(Program Counter)pc 指针,记录当前执行哪一条指令;存储当前 CPU 正在执行指令的地址。LR:(Link Register)x30 寄存器,保存函数返回地址。X0、X1、X2...分别为函数第1、2、3个入参。fp:(Frame Pointer)x29 寄存器。sp:(Stack Pointer)栈指针。
2024-01-12 10:09:11
514
转载 控制打印字符串长度--c
参考:printf(”%*.*s“) 动态控制宽度的方法_printf控制宽度_w332530494的博客-优快云博客C语言%s格式符的使用! - 简书https://www.cnblogs.com/ai616818/archive/2012/05/31/2528472.html#:~:text=%E5%8E%9F%E6%A0%B7%E8%BE%93%E5%87%BA%E5%AD%97%E7%AC%A6%E4%B8%B2%3A%20printf%28%22%25s%22%2C%20str%29%3B%20
2023-09-18 16:30:00
297
原创 flash操作复习
2- 写入数据前需要先擦除flash。flash擦除指令有扇区(4k)擦除(20h);32k块擦除(52h);64k块擦除(d8h);3- 读、写、擦除动作前需要读取总线是否忙;擦除整个芯片要在擦除前后判断总线忙,用于判断是否可以进行擦除、擦除是否完成。1- flash的也大小位256 byte,一次最多写一页大小的数据。具体代码、讲解参考金沙滩stm32资料:lesson6。以华邦W25Q128为例介绍。
2023-03-04 08:37:52
366
原创 SPI Flash为何需要24位地址线?
128M bit = 16M byte = 0X100 0000, 这样需要24位地址线就可以访问16M空间了。刚开始误以为flash时128M字节的大小,算了下128MB=0x800 0000, 地址线至少需要27位.由于现在的SPI 协议手册里都是24位地址线宽度,就限制了flash的最大存储容量只能是16M。以W25Q128 flash为例,芯片手册规定对于flash的读写地址长度位24bit。后来发现芯片手册里写的flash容量是128M bit。
2023-03-04 08:28:39
1530
转载 内核抛栈帖子
https://www.kernel.org/doc/Documentation/lockup-watchdogs.txthttps://blog.youkuaiyun.com/yuanfang_way/article/details/77987399https://coderatwork.cn/posts/2018-12-14-analysis-of-a-kernel-hard-lockup-problem/https://www.cnblogs.com/vedic/p/11194839.htmlhttps://zh
2023-02-07 09:53:14
102
原创 内网穿透理解--基于frp
我们在家办理了宽带,接上光猫就可以访问到csdn等外网网站,但是这并不等于我们家电脑的IP使用了公网IP,我们只是连接到了运行商公网服务器上,我们自己的电脑IP仍然是小网IP。当我们要访问优快云网站,我们将请求发到了运营商的服务器上,它会帮我们把请求发到优快云公网的服务器上。优快云响应后,会把获得的数据返回给运行商服务器,服务器然后将结果返回给我们自己的电脑。我们的电脑始终处在小网内,通过运营商公网服务器将请求转发出去,所以我们可以访问外网。
2022-10-17 21:56:03
1133
原创 架构简洁之道读书笔记--第四部分组件构间原则
对于上述情景,我们的解决办法是将研发项目划分为一些可单独发布的组件,这些组件可以交由单人或者某一组程序员来独立完成。当有人或团队完成某个组件的某个版本时,他们就会通过发布机制通知其他程序员,并给该组件打一个版本号,放入一个共享目录。这样一来,每个人都可以依赖于这些组件公开发布的版本来进行开发,而组件开发者则可以继续去修改自己的私有版本。每当一个组件发布新版本时,...
2022-07-25 17:23:32
420
原创 架构简洁之道读书笔记--第三部分设计原则
单一职责原则。该设计原则是某于康威圧律(Conway'sLaw)的一个推论——一个软件系统的最佳结构高度依赖于开发这个系统的组织的内部结构。这样,每个软件模块都有且只有一个需要被改变的理由。开闭原则。该设计原则是由BertrandMeyer在20世纪80年代大力推广的,其核心要素是如果软件系统想要更容易被改变,那么其设计就必须允许新增代码来修改系统行为,而非只能靠修改原来的代码。里氏替换原则。接口隔离原则。这项设计原则主要告诫软件设计师应该在设计中避免不必要的依赖。...
2022-07-22 17:25:11
526
原创 架构简洁之道读书笔记--第二部分编程范式
依赖反转让模块间解耦,增加系统的独立部署能力事件溯源我们可以不借助临时变量,通过记录系统历史变化,进行回溯历史的当前、历史状态。
2022-07-22 15:19:06
274
原创 函数指针知识点记录
平时写代码很少用到函数指针,对这一块知识点的认知逐渐模糊。恰巧看书看到了,记录个帖子,以备后续查阅注: 本例中,我们使用fp = test_fp; 方式给函数指针变量赋值;除此之外,还可以使用fp = &test_fp;方式。 分析:1- int (*fp)(int cnt)。 定义了一个函数指针变量fp,指向函数的类型为int (函数名)(int cnt);2- fp = test_fp。 给函数指针赋值,令其指向test_fp3- (*fp)(2)。 函数调用。由分析可知要想定义一个函数指针变量,
2022-07-04 10:24:49
227
原创 《编写高质量代码-改善C程序代码的125个建议》读书笔记-2 表达式 、控制语句
在C语言中,有些操作符很相似,比如=与==、|与||、&与&&等。在使用这些操作符时,一不小心就很容易造成混淆,给程序带来不必要的错误。| :位或 ; ||: 逻辑或&:位与 ; &&: 逻辑与错误: 对于和常量比较的条件判断,可以把常量写在前面,避免混淆=和==。因为当编译类似if (3 = ret )会报错。尽量使用复合赋值运算符尽量避免编写多用途的、太复杂的复合表达式尽量避免在表达式中使用默认的优先级C语言也提供三种基本流程控制结构:顺序结构、选择结构与循环结构。首要原则就是要使正常情
2022-07-01 15:48:26
272
原创 typedef的几点认识--常学常新
我们通常用typedef来重命名某个变量,或将和平台无关的数据类型起个别名。如下今天看编码规范发现typedef的几点用法比较奇怪记录下来:初看感觉很奇怪,使用ARR_100来重命名元素个数为100的数组int [100],感觉写法很奇怪,为什么不是typedef int[100] ARR_100;?说法1:typedef只能为数据类型定义别名;int是数据类型,int[100]不是数据类型说法2:语法规定,记住就好。参考:想问下为什么不写成typedef int[4] int_array;-优快云
2022-06-11 16:28:30
209
原创 字符设备驱动--韦东山视频笔记
发现自己太懒了,驱动的系统学习是在19年就提上日程了,结果都2022年了还没结束,好在断断续续一直在学习,就当中间的日子用来吸收之前所学的知识了吧,哈哈。为热爱不断学习,加油。话说也不是很热爱,就是不懂想弄明白而已。总之,保持热爱,保持好奇,加油就对了。我们写完驱动后,即对用户态提供了接口,可以调用驱动接口操作硬件。比如我们写了一个led驱动,驱动中设计了led_open; led_read; led_write接口用于打开、读写LED灯。在用户态程序中,我们通常使用c库函数open、read、write函
2022-06-02 21:37:56
231
原创 《编写高质量代码-改善C程序代码的125个建议》读书笔记-1数据
1- 回绕溢出问题1.1- 显式声明为signed char或unsigned char的类型来执行算术运算因为不显式声明是否有符号,将由编译器决定是否加符号1.2- 使用rsize_t或size_t类型来表示一个对象所占用空间的整数值单位确保入参和其比较值数据类型相同订正:........................
2022-05-11 11:37:41
286
(MindShare Technology Series) Mike Jackson, Ravi Budruk, Josep
2024-05-29
MindShare PCI Express Technology 3.0-MindShar
2024-05-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人