- 博客(878)
- 资源 (43)
- 收藏
- 关注
原创 方程求有理根还能这么玩
摘要:本文介绍了一种利用有理根判定定理求解一元高次方程有理根的方法。通过分析方程系数的整数因子,将可能的有理根范围缩小到有限几个候选值,再逐一验证。这种方法巧妙地将无限可能转化为有限枚举,类似于破案中的嫌疑人排查。文章以二次和三次方程为例演示了操作步骤,并指出其核心思想是"约束法"——先假设解存在并推导其必须满足的条件,从而大幅缩小搜索范围。该方法候选值有限的情况,体现了数学中化无限为有限的智慧。
2026-08-19 09:55:20
145
原创 编写简易dtc 设备树编译器
摘要 本文介绍了一个简易设备树编译器(mydtc)的实现,主要包含以下内容: 设备树编译流程:从DTS源文件到AST抽象语法树,再到DTB二进制文件的完整处理过程。 核心组件: 词法分析器将DTS文本分解为token流 语法分析器构建AST树结构(节点和属性) 语义检查(验证reg属性格式) DTB生成器将AST扁平化为二进制格式 实现验证:通过对比标准dtc工具的输出,确认了该简易编译器的正确性。 代码特点:约600行C代码,实现了基本设备树编译功能,可作为理解设备树原理的参考实现。 应用示例:展示了输入
2026-07-31 10:18:39
194
原创 设备树(dts)概念(源码理解)
本文通过代码实例介绍了设备树(dts)的基本概念和实现原理。设备树由节点组成的树形结构构成,每个节点包含名称、属性列表和子节点数组。文章详细定义了设备节点(dt_node_t)和属性(dt_prop_t)的数据结构,并实现了创建节点、添加子节点和属性的核心操作函数。通过一个简单的示例代码,演示了如何构建包含根节点和UART子节点的设备树,并输出标准的DTS格式文本。该实现帮助读者理解设备树的本质:用树形结构组织硬件设备信息,通过键值对属性描述设备特性。
2026-07-30 11:14:21
197
原创 hello_module Makefile 的执行过程.
本文通过一个简单的Linux内核模块helloworld.c及其Makefile,分析了内核模块的编译过程。作者发现实际编译会递归调用Makefile多次,于是构建了一个简化的内核Makefile模拟环境,包含kernel/Makefile和scripts下的Makefile.build、Makefile.modpost。模拟执行过程显示:内核Makefile分两个阶段处理模块——先编译构建,再进行符号处理和生成.ko文件。这种小环境模拟方法有助于理解复杂内核构建系统的核心流程,避免直接分析庞大内核Make
2026-07-26 14:32:45
155
原创 make 命令的三个修饰符@,-,+
这篇文章介绍了make命令的三个修饰符:@、-、+的用法和作用。 @(静默修饰符):隐藏命令本身,只显示输出结果; -(容错修饰符):命令执行失败时,make不终止并继续执行后续命令; +(强制执行修饰符):即使命令行指定-n/-t/-q,该命令仍会被执行,主要用于递归make(如$(MAKE))。 文章通过示例代码演示了这三种修饰符的具体应用场景,并总结它们的功能特点:@用于隐藏命令,-用于容错,+主要用于递归make时确保子目录调用完整性。
2026-07-25 10:57:51
174
原创 makefile 中为什么 make V=1 能够显示出完整编译命令
本文解释了makefile中make V=1显示完整编译命令的原理。关键点: V=1时Q变量为空,命令会显示;默认Q=@则隐藏命令输出。 另一quiet变量控制简短编译提示,默认显示"CC test.o"类信息。 示例代码通过条件判断设置这两个变量,仅用20行即实现功能:默认显示简短提示+隐藏命令,V=1时显示完整命令。测试结果验证了该机制的有效性。
2026-07-24 12:19:35
174
原创 ar 工具及 ar 库格式研究
本文研究了ar工具及其库文件(.a)的格式,重点分析了ar库中的符号索引机制。通过实例演示了如何创建带索引和不带索引的库文件,并使用nm工具观察差异。作者编写了一个解析工具ar_parse.c,详细剖析了ar文件结构:以"!<arch>\n"开头,包含多个成员文件,每个成员有固定格式的头信息。特别解析了GNU风格的符号索引表("/"成员),其中存储了符号名与成员偏移的映射关系。实验显示带索引的库会额外生成一个索引表,加速链接时的符号查找过程。该研究深入揭示了ar库的二进制组织方式及其索引机制原理。
2026-07-12 11:54:14
238
原创 访问设备文件与调用驱动函数是怎样关联的?
本文通过一个应用层模拟程序,展示了Linux设备驱动如何通过内核虚拟文件系统(VFS)实现函数回调机制。程序分为三层架构:驱动层实现具体设备操作(open/read/write/release),内核层维护设备映射表并转发系统调用,应用层通过模拟系统调用访问设备。当用户操作设备文件时,VFS根据注册的设备名称找到对应的驱动操作集,并转发调用请求。该模拟清晰地揭示了内核如何通过设备注册和函数指针实现驱动回调的核心机制,帮助理解实际Linux驱动中file_operations结构体与系统调用的关联原理。
2026-06-15 10:50:36
164
原创 让内核模块程序与用户进行实时数据交互.
本文介绍了两种实现内核模块与用户程序实时数据交互的方法:通过/proc文件系统和字符设备文件。 /proc文件系统方法: 创建/proc/mytest文件,设置0222权限允许非root用户写入 用户通过echo命令写入数据,内核模块通过copy_from_user获取数据 内核模块被动响应,通过proc_create注册回调函数 适合轻量级数据交互,如设备仿真 字符设备文件方法: 创建/dev/char_dev字符设备(主设备号222) 实现read/write函数完成双向数据传输 需要mknod创建设备
2026-06-14 12:42:15
181
原创 buildroot Makefile include *.mk 的玄机.
本文解析了Buildroot中Makefile动态包含*.mk文件的机制。通过分析发现,pkgname变量并非手动设置,而是借助MAKEFILE_LIST自动获取:当包含.mk文件时,make会将该文件名加入MAKEFILE_LIST,通过$(lastword $(MAKEFILE_LIST))可提取文件路径并计算包名。作者通过简化实验验证了这一机制,展示了如何利用延迟展开特性,在包含每个.mk文件时动态生成对应的host-目标。这种设计实现了自动化包名推导,避免了手工维护变量,体现了Makefile的灵活
2026-06-12 23:02:15
415
原创 buildroot 入门介绍
Buildroot 是一款用于构建嵌入式系统板载软件的工具,能够一键生成包括bootloader、内核、根文件系统及应用在内的完整BSP包。它支持通过make menuconfig配置不同硬件平台的定制化选项,并提供了多种预设模板(如qemu_x86_64_defconfig)简化配置流程。用户可通过make list-defconfigs查看所有内置模板,通过make命令完成编译。文章还深入解析了list-defconfigs和qemu_x86_64_defconfig命令的底层实现原理,包括Makefi
2026-06-12 22:52:25
281
原创 自己编写手提power-button 驱动
本文介绍了一个自编写的手提电脑电源按键驱动开发过程,重点分析了驱动加载和运行机制。作者通过编写powerbtn.ko模块,实现了对ACPI电源按键事件的捕获和处理。文章详细解释了驱动加载后sysfs目录结构变化、platform设备与驱动绑定过程、input设备注册机制以及电源按键事件上报原理。特别指出ACPI固件会区分长按(4秒)和短按,长按时会直接物理断电。该驱动可作为学习原生ACPI电源按键驱动原理的实践案例,代码已编译通过并测试可用。
2026-05-29 14:13:49
398
原创 linux 如何读取的cpu 温度? (真实平台)
本文介绍了在Linux系统中读取真实CPU温度的方法。通过读取Intel CPU特定的MSR寄存器(0x1A2和0x1B1)获取温度参考值和当前温差值,计算得出实际温度。作者实现了一个内核驱动模块,通过注册thermal_zone设备接口,将温度数据暴露在/sys/class/thermal/thermal_zoneX/temp路径下。驱动代码仅82行,包含温度读取、热区注册和卸载功能。测试表明该驱动读取的温度值与系统原有thermal_zone一致,验证了方法的正确性。文章消除了CPU温度测量的神秘性,展
2026-05-28 11:49:12
458
原创 手提电脑开盖,关盖的驱动
本文介绍了一个简单的笔记本开合盖驱动实现方案。作者通过分析ACPI协议,发现盖子设备在系统中被标识为"PNP0C0D",并利用Linux内核的ACPI子系统开发了一个仅60行的驱动程序。该驱动通过注册通知回调函数来接收盖子状态变化事件(0x80表示关闭,0x81表示打开),并打印相应日志。文中还详细说明了如何禁用系统默认的合盖休眠行为(通过修改logind.conf配置)以及如何解除原有驱动绑定。这个实现展示了如何利用标准ACPI接口简化硬件交互,只需关注设备状态变化通知而无需处理底层硬件细节。
2026-05-27 14:36:41
440
原创 linux 内核, 怎样读取温度?
本文介绍了在Linux内核中如何通过虚拟平台设备和驱动架构读取温度数据。主要内容包括: 创建虚拟platform设备"virtual-thermal"并注册到系统 实现对应的platform驱动,通过名称匹配设备 使用thermal_zone_device_register注册热区设备,生成/sys/class/thermal节点 展示了热区设备在sysfs中的各种可读写参数 该示例演示了Linux驱动架构的基本模型,包括设备注册、驱动匹配和温度子系统接口的实现。通过sysfs文件系统可以查看和配置温度相关
2026-05-26 18:12:23
405
原创 注册一个输入设备. 系统有那些改变?
本文介绍了向Linux系统注册输入设备后系统的变化。当调用input_register_device()注册设备后,系统会在/proc/bus/input/devices中新增设备记录,在/sys/devices/virtual/input/下创建对应目录,并在/dev/input/下生成字符设备节点(如event14)。这些接口文件会显示设备名称、物理地址、支持的事件类型(EV=3表示支持按键事件)和按键码(KEY=800表示支持按键0)。移除模块后,这些文件会自动消失。测试代码不足百行,通过编译为.ko
2026-05-26 09:33:56
703
1
原创 ubuntu系统 usbmouse 驱动代码分析
本文分析了在Ubuntu系统中使用usbmouse驱动替代默认usbhid驱动的过程。通过修改系统文件并更新initramfs成功禁用usbhid驱动后,加载自定义编译的usbmouse.ko模块驱动USB鼠标。文章详细探讨了usb_mouse_probe函数的调用机制,比较了"先插设备后装驱动"和"先装驱动后插设备"两种情况的调用栈差异,并解释了该函数的工作原理。分析表明,probe函数通过匹配接口类(HID)、子类(boot)和协议(鼠标)来识别设备,并检查接口端点数量是否符合要求。整个过程展示了USB
2026-05-20 20:40:56
443
2
原创 多个源文件编译成一个模块注意Makefile 书写
摘要:本文分析了Linux内核模块编译时printk无法输出的问题,发现是由于Makefile语法错误导致目标文件未正确链接。通过对比错误和正确的Makefile示例,指出关键点在于:obj-m指定模块名(.ko文件),模块名-objs指定组成模块的.o文件。正确的写法应明确列出所有需要链接的目标文件,如"myprint-objs := print.o abc.o"。该问题耗费较多调试时间,最终通过理解Makefile语法规则得以解决。
2026-05-19 13:44:03
44
原创 虚拟键盘,platform总线,键盘驱动框架(附c代码)
本文介绍了基于Linux平台的虚拟键盘设备与驱动开发框架。通过platform总线连接虚拟键盘设备和驱动,实现键盘事件的模拟与处理。虚拟键盘设备(vkb_dev.c)通过/proc文件系统接收用户输入,模拟8042键盘寄存器状态。驱动部分通过platform_driver结构体注册,与设备进行绑定。该框架展示了platform总线的基本用法、内核定时器应用以及/proc文件系统的交互方式,为后续真实键盘驱动开发奠定了基础。代码示例包含设备私有数据结构、平台设备注册、proc接口实现等关键部分,采用查询模式处
2026-05-18 10:10:33
391
原创 usb 串行口驱动庖丁解牛4: 数据收发的实现
本文分析了USB串行口驱动中数据收发的实现过程,重点剖析了PL2303驱动的最小化实现。作者发现仅需40行代码即可替代原厂1079行的驱动代码,核心功能均由Linux内核的usb_serial子系统完成。文章展示了精简后的PL2303驱动代码,包含设备ID匹配表、端口数量计算和基本端点配置。通过实际测试验证了该精简驱动能正常工作,并解答了关于读写操作机制的问题:写操作通过URB控制块发送数据,读操作则从USB控制器自动填充的缓冲区获取数据。作者指出这种精简实现揭示了USB串口驱动的本质,而原厂驱动包含大量冗
2026-05-17 16:20:16
398
原创 usb 串行口驱动庖丁解牛3:对设备终端进行设置
本文是《USB串行口驱动庖丁解牛》系列第三篇,重点解析设备终端设置功能。文章首先解释了tiocmget/tiocmset函数的命名由来及其在现代串口通信中的局限性(主要适用于完整modem通讯)。随后详细分析了set_termios函数的作用,包括配置波特率、数据位、校验位等参数,并指出其通过tcsetattr函数调用驱动层实现。文中还深入介绍了USB控制传输协议,通过pl2303芯片设置波特率的代码示例,展示了usb_control_msg函数参数与USB控制传输Setup包的对应关系。最后提供了PL23
2026-05-16 12:33:30
425
原创 usb 串行口驱动庖丁解牛2: 实现/dev/ttyUSB0设备文件框架
本文剖析了USB串行口驱动中/dev/ttyUSB0设备文件的生成机制。通过module_usb_serial_driver宏封装模块初始化和退出函数,重点解析了.calc_num_ports函数的作用:当返回1时会创建/dev/ttyUSB0设备节点。文章提供了PL2303驱动的简化实现代码,演示了如何定义端口计算函数并注册驱动。测试结果显示插入USB设备后成功生成设备文件,但该节点目前仅具备框架功能,尚不支持实际读写操作。这为后续驱动开发奠定了基础,后续需要添加打开、读写等操作支持。
2026-05-15 18:50:19
383
原创 usb 串行口驱动庖丁解牛1: 极简框架
本文介绍了一个极简的USB串行口驱动框架,实现了PL2303设备的探测(probe)和断开(disconnect)功能。该驱动包含模块加载/卸载函数、设备匹配表以及核心驱动结构体。通过dev_info打印设备连接状态信息,展示了驱动与设备的绑定过程。文章解析了dev_info输出内容的生成机制,包括设备名称和驱动名称的获取方式。该框架为后续功能扩展奠定了基础,是USB驱动开发的入门示例。
2026-05-15 17:47:15
381
原创 platform总线,驱动,虚拟设备(实例2)--led闪烁灯(附代码)
本文介绍了基于Linux platform总线的LED闪烁灯驱动实现。主要内容包括: 虚拟设备实现(virt_led_dev.c): 动态分配platform_device对象 定义设备私有数据结构(virt_led_dev_ctx)保存LED状态 使用kzalloc分配内存而非devm_kzalloc 通过platform_set_drvdata绑定私有数据 驱动实现(led_drv.c): 注册平台驱动并与设备匹配 实现完整的cdev接口控制LED 使用内核定时器(timer_list)实现闪烁功能 通
2026-05-11 19:17:04
543
原创 cdev 对象是个啥? (附代码说明)
本文介绍了Linux内核中字符设备驱动cdev对象的基本概念和工作原理。cdev作为用户空间与内核设备之间的桥梁,通过file_operations结构将用户请求转换为内核操作。文章详细说明了设备号分配、cdev对象初始化、自动创建设备节点等关键步骤,并提供了完整的示例代码。通过dmesg日志和sysfs文件系统验证了驱动加载和设备操作过程,帮助读者理解字符设备驱动的实现机制。
2026-05-10 11:11:13
418
原创 .ko 文件分析小工具, 简易modinfo 工具(c 代码)
本文介绍了一个简易的.ko文件分析工具modinfo,用于解析ELF64格式内核模块的.modinfo节内容。该工具仅88行C代码,通过读取ELF头部和节头表,定位.modinfo节并提取其中的字符串信息。代码实现了ELF文件的基本解析流程,包括校验ELF魔数、读取节头表和字符串表,最终输出模块的描述、许可证等元数据。编译使用简单,只需gcc编译后传入.ko文件路径即可运行。示例展示了工具输出的模块信息,包括description、license等字段。该工具虽然小巧,但需要清楚理解ELF64文件格式,可作
2026-05-09 20:41:58
79
原创 platform总线,驱动,虚拟设备I/O实例(128位I/O)
本文介绍了基于platform总线的虚拟设备驱动开发实例。主要内容包括: 驱动架构设计:通过platform总线实现驱动与虚拟设备的连接,采用分层设计实现上传下达功能。 关键功能实现: 模拟4个32位硬件寄存器读写 创建sysfs用户接口(reg0-reg3) 实现只读(reg0/1/3)和可读写(reg2)寄存器访问 内核交互机制: 使用sysfs_create_groups创建设备文件 通过DEVICE_ATTR宏定义设备属性 实现show/store函数处理用户读写请求 利用dev_get_drvda
2026-05-08 12:19:08
382
原创 驱动模型: platform总线,设备,驱动 3层架构框架
本文介绍了Linux内核中的platform总线驱动模型,采用设备、驱动、总线三层架构。虚拟设备模块仅向平台总线注册设备,不包含业务逻辑;驱动模块通过名称匹配设备,成功匹配后执行probe函数。操作顺序上,加载驱动和设备模块的先后不影响匹配,卸载顺序也无关紧要。文章详细展示了虚拟设备和驱动的代码实现,并分析了注册后在/sys文件系统中的变化,包括设备目录和符号链接的创建。最后说明了如何通过bind/unbind操作手动控制驱动与设备的绑定关系,为后续扩展probe函数实现具体功能奠定了基础。
2026-05-07 18:38:38
366
原创 简单驱动管理,内核链表宏及container_of宏演示代码
本文通过一个简单的驱动管理演示程序,解析了Linux内核中常用的三个宏:LIST_HEAD、container_of和list_for_each。作者通过预处理展开展示了这些宏的实际作用:LIST_HEAD用于初始化链表头节点,container_of通过成员指针获取所属结构体指针,list_for_each实现链表遍历。文章包含完整的测试代码和Makefile,展示了如何创建链表、添加节点并遍历打印驱动信息。通过实际运行结果验证了这些宏的正确使用方式,为理解内核链表机制提供了实用参考。
2026-05-05 07:49:38
336
原创 qemu直接启动内核+内存文件系统+双终端+文件共享+USB直通
本文介绍了一种基于QEMU的轻量级虚拟机配置方案,适用于Linux内核开发和驱动调试场景。核心特点包括:直接启动内核镜像、使用内存文件系统(initramfs)、双串口终端控制、主机-虚拟机文件共享(9p协议)以及USB设备直通功能。配置脚本详细说明了各项参数的作用,如KVM加速、CPU直通、串口重定向等。同时提供了配套的initramfs构建脚本,可快速生成包含BusyBox工具集的最小根文件系统。这种无图形界面的纯命令行方案特别适合嵌入式系统调试和内核开发,通过串口终端和共享文件夹实现了高效的开发调试环
2026-05-02 20:08:27
315
原创 最简单的设备及其设备驱动(附代码分析)
本文分析了Linux内核中最简单的字符设备/dev/zero及其驱动实现。通过ls命令查看/dev/zero、/dev/null等设备属性,发现它们共享主设备号1,由drivers/char/mem.c驱动实现。文章详细解析了zero设备的file_operations结构体,包括write、read_iter等关键操作函数,这些函数实现了零设备"永远返回0"的核心功能。同时介绍了设备号绑定机制,展示了主设备号1如何通过memory_fops注册,并最终在chr_dev_init()中完
2026-05-01 12:04:25
379
原创 彻底搞懂搞定终端设置
本文介绍了如何通过终端设置解决串口通信中的回显问题。作者通过实验发现,当使用cat和echo命令进行串口收发测试时,会出现无限循环打印现象。通过stty命令查看终端模式,发现启用了缓冲和回显功能。通过执行stty -F /dev/ttyUSB0 -echo -icanon -opost关闭相关模式后,成功实现了正常收发。文章还提供了C语言示例代码(serial_send.c和serial_recv.c),展示了如何通过编程精确控制串口属性,包括波特率设置、原始模式配置及数据收发处理,帮助读者深入理解终端控制
2026-04-30 21:08:59
368
原创 制作最简根文件系统
本文介绍了如何制作一个最小化的Linux根文件系统(rootfs)。主要内容包括:1) 根文件系统的基本概念和目录结构;2) 使用busybox创建包含bin、dev、etc等必要目录的最小根文件系统;3) 提供完整的构建脚本,包含fstab、profile、init等关键文件的配置;4) 将根文件系统打包成cpio.gz格式的initramfs;5) 使用qemu启动该根文件系统的示例和参数说明;6) 简要提及后续可用gdb调试内核的扩展功能。该方案为构建轻量级Linux系统提供了基础框架,便于后续开发和
2026-04-29 17:58:17
402
原创 制作ubuntu usb安装盘 (用dd 命令)
本文介绍了使用dd命令制作Ubuntu USB安装盘的方法。首先下载Ubuntu 26.04 LTS镜像,然后通过dd命令直接烧录到U盘(/dev/sdb)。由于Ubuntu镜像是混合启动格式(Hybrid ISO),支持BIOS和UEFI启动,因此可以直接用dd命令制作。烧录完成后,使用lsblk、fdisk和parted命令验证分区信息。最后,利用U盘剩余空间创建可读写的数据分区(格式化为FAT32),使安装盘兼具存储功能。这种方法操作简单且保留了底层细节,适用于需要同时作为安装盘和数据盘使用的场景。
2026-04-28 13:39:46
565
原创 fat32 文件系统研究(附c代码)
本文介绍了FAT32文件系统的研究过程,包括创建100MB空白磁盘镜像、格式化为FAT32格式,以及分析引导扇区数据结构。重点解析了BPB(引导参数块)的结构,通过自定义C程序读取关键参数如每簇扇区数、FAT表大小等。研究发现强制使用FAT32格式时,系统会调整簇大小以满足32位寻址要求。文章还提供了分析工具源代码,可用于深入理解FAT32底层存储机制。
2026-04-27 18:27:33
405
原创 彻底搞通UEFI, GPT, ESP 现代固件启动概念(附c代码)
本文深入解析了UEFI、GPT和ESP等现代计算机启动概念。UEFI作为64位系统的统一可扩展固件接口,取代了传统的BIOS;GPT分区表解决了MBR在64位系统中的容量限制问题;ESP则是UEFI系统专用的分区。文章通过创建100MB虚拟盘并建立GPT分区的实践演示,详细展示了GPT分区表的结构和内容,并提供了C语言代码读取GPT头信息。这些内容帮助读者全面理解现代计算机启动机制,从理论到实践掌握相关技术细节。
2026-04-26 13:06:10
391
原创 cpio 文档格式研究
本文研究了Linux内核中的cpio归档格式。通过创建测试cpio文件并分析其二进制结构,揭示了该格式的基本组成:包含文件头元数据、路径名、文件内容和填充对齐的循环结构,以"TRAILER!!!"标记结束。文章详细解析了cpio的newc格式规范,包括32位元数据结构和大文件支持特性,并提供了完整的C语言实现代码来解包cpio文件,演示了如何识别文件类型(普通文件、目录、链接)并提取内容。通过实际代码调试验证,加深了对这种轻量级归档格式的理解,特别适合内存文件系统等场景使用。
2026-04-22 17:23:53
568
原创 minix1.0 文件系统研究
本文介绍了minix1.0文件系统的研究过程。首先创建了一个1.44MB磁盘镜像并格式化为minix1.0文件系统,创建测试文件后卸载。然后分析了minix1.0的结构特点:使用1K逻辑块、7个直接指针的inode结构、14字节文件名限制,以及6个分区布局(引导块、超级块、inode位图、数据块位图、inode区和数据区)。通过010editor工具查看镜像文件,详细解析了各分区的二进制内容。最后介绍了编写代码验证文件系统的方法,包括定义超级块、inode和目录项等关键数据结构,为后续编程分析奠定基础。
2026-04-22 11:36:58
385
原创 最简单的虚拟字符设备驱动程序(附c代码)
本文介绍了一个最简单的虚拟字符设备驱动程序。该程序实现了用户空间与内核空间的数据交互,通过设备文件操作模拟真实设备通讯。主要功能包括:通过alloc_chrdev_region申请设备号,使用cdev_init初始化设备结构体,实现open/release/read/write等基本操作函数。其中read/write函数通过copy_to_user/copy_from_user在内核缓冲区与用户空间传递数据。测试时需先加载模块,创建设备节点文件,然后可通过cat/echo命令验证功能。该程序展示了字符设备驱
2026-04-21 17:34:35
447
.net 中间语言 IL 指令集
2010-10-29
gdbinit-gdb 功能扩展插件
2015-07-10
linux 64位只读文件系统 romfs64
2013-11-07
tr_research.tar.gz
2020-08-14
stl-views.gdb
2016-01-23
vim73-gdb 工具
2015-02-07
gcc 函数调用探测功能
2015-09-10
linux elf64 parser 源代码
2025-12-27
全面介绍AVFilter 的添加和使用
2025-04-22
全面介绍AVFilter 的添加和使用
2025-04-22
全面介绍AVFilter 的添加和使用
2025-04-22
全面介绍AVFilter 的添加和使用
2025-04-22
离散傅立叶变换DFT及其反变换IDFT c 源代码
2024-06-28
IDA Free8.3 For Linux
2023-10-08
将视频存储为一张张jpg 图片源码
2022-06-11
linux 命名管道创建及使用demo程序
2022-06-02
监视程序的内存使用(linux c 源代码)
2022-05-04
Qt5 信号与槽研究,线程研究
2022-03-12
OpenSSH for windows (64bits)
2020-11-09
the-23-gang-of-four-design-patterns-with-cplusplus.tar.gz
2020-03-08
buttonTable.zip
2020-07-23
LFS-BOOK-CN.html
2019-12-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅