自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(744)
  • 资源 (43)
  • 收藏
  • 关注

原创 avformat_find_stream_info 代码简明注释与理解

1. 前言2. 代码标注3 补充:3.1. 关于avctx->ticks_per_frame,3.2. 关于avctx->time_base 的计算, 由帧率导出.3.3. 关于 avctx->framerate 帧率的计算.

2025-04-02 14:13:19 389

原创 将一段二进制数据从外部copy给对象

目的.1.如何创建一个新的类,新的对象2.如何将ascii数据变成二进制数据3.如何把二进制数据copy给对象

2025-03-31 13:05:11 374

原创 如何理解AVBprint

1. 什么是AVBprint1.1 优点1. 它是一个数据流接受器,能够实现数据的拼接.1.2 优点2. 它自动管理内存分配,当发现内存不能容纳打印的字符串时,会重新分配内存.1.3 av_bprint_init, 初始化时指定空间的标志.1.4 av_bprint_finalize 功能2. AVBprint 调用实例3. 测试结果

2025-03-27 15:02:42 514

原创 怎样理解AVDictionary字典?

为什么它要这样写呢?因为核心的问题是先让计算机理解你的输入!然后把能固定的代码先固定下来, 这样后面的负担就会减小许多.

2025-03-26 17:34:32 791

原创 如何理解FFMPEG两个宏 1.MATCH_PER_TYPE_OPT, 2.MATCH_PER_STREAM_OPT

1.MATCH_PER_TYPE_OPT1.1 宏定义1.2 宏调用1.3 宏展开1.4 宏展开详细解释1.5 测试代码:1.6 执行结果:2. MATCH_PER_STREAM_OPT2.1 宏定义2.2 调用举例:2.3 给一个调用展开示例:2.4 展开解释:

2025-03-24 15:23:28 1000

原创 浮点数 NaN 彻底研究(linux 下 c环境测试)

1. 创建一个NaN 数据,2. 打印一个NaN 数据,3. NaN 到底等于二进制的多少? 即它是怎样表示的?4. 1.0/0.0 生成的是什么? 是一个无穷大 inf5. 运算时生成一个nan, 用-1开平方 , 竟然生成了负不存在6. nan 的运算和判断isnan()

2025-03-11 17:29:24 530

原创 深挖elf文件中弱符号引用

0. 前言1. 弱引用符号是怎样形成的?1.1. 源代码, 测试代码及Makefile2. 弱引用符号的作用.3. 弱引用符号在elf 文件中是怎样表示的.

2025-03-06 15:58:56 919

原创 在编译阶段查看宏定义的值

1. 前言2. 查看宏定义的处理手段2.1 第一种: 用printf 来打印.2.2 第二种: 用预处理命令.2.3 第三种: 在编译期就让程序直接打印出宏的值.3. 编译器打印宏定义的值举例:4. 小结:

2025-03-06 15:08:27 314

原创 pthread_once_t 类型 和 pthread_once 函数

1. 测试代码2. 运行结果, 达到目的.3. 代码分析3.1 pthread_once_t 就是个李鬼, 它就是int 类型3.2. pthread_once 是libc 的库函数, 如同pthread_create, pthread_join 函数一样.

2025-03-05 09:51:20 727

原创 fmpeg 中 avio_check() 代码分析

1. 测试程序程序执行结果2. 源码注释:3. 分析程序3.1. ff_file_protocol, 是URLProtocol的一个实例3.2. FileContext 是file protocol 下使用的一个私有对象结构3.3.URLContext, 跟用户接口的对象,它包含URLProtocol 实例,还包含URLProtocol中定义的私有数据,是更上层的结构对象4. 小结:

2025-02-28 15:27:52 595

原创 Makefile 阅读笔记

1. vpath 指令2. 变量替换3. 变量模式替换4. define 指令4.1 定义一个多行字符串. resume4.2 定义一个函数 greet4.3:实战5. 介绍几个内置函数.1. wildcard2. foreach3. eval4. call

2025-02-18 18:09:30 647

原创 ffmpeg configure 研究2:分析屏幕输出及文件输出的具体过程

0. 执行./configure 命令1. sed: can't read 信息是从哪里来的 ?2. 屏幕输出信息的来源3 configure 中创建的文件具体创建过程是怎样的?4 configure 对 Makefile 的影响

2025-02-17 17:14:57 793

原创 ffmpeg configure 研究1-命令行参数的分析

1 configure 对命令行参数的分析,在4019行1.1 函数名称: is_in1.2. 函数名称: enable1.3. 函数名称: set_all2 执行退出判断的关键代码:2.1. 函数名称: map2.2 函数名称: die_license_disabled2.3 函数名称 enabled()3. 小测试代码4.执行结果 $ ./1.sh5.小结:

2025-02-14 17:34:15 904

原创 割圆术求圆周率的具体过程.

1. pi等于3为基础.2. 把内接多边形加倍,则内接多边形周边之和更接近于周长.3 递推公式的证明3. 割圆术的计算结果4. 代码5. 结果分析:

2025-02-05 11:44:54 993

原创 ff_set_common_formats(ctx,formats) 代码研究

第一步: 把宏展开,形成函数调用,方便调试.第二步: 构建一个合适的上下文,调用这个函数.2.1 AVFilterContext 实例的构建.2.2 AVFilterFormats 实例的构建附录: 测试环境源代码

2025-01-23 11:43:27 552

原创 解决Emacs安装插件签名验证失败问题,没有公钥

甲:首先要搞明白这个警告是什么意思呢?1.archive-contents.sig是emacs包资源文件的签名文件,二进制文件.2.gpg是什么?3.错误的含义是什么?乙.解决办法:获取对方的公钥,方法,给关键字符串,从公网上得到对应的公钥.

2025-01-19 12:38:19 842

原创 类的成员变量在头文件中初始化和在构造函数中初始化是怎样进行的?

结论: 头文件中的初始化会在构造函数中先执行, 构造函数中其是可以不用初始化了. 这两个地方有一处初始化就够了.

2025-01-17 13:30:18 394

原创 ubuntu20下编译linux1.0 (part1)

1. 下载源码:2. 根据readme, 将代码解压到/usr/src/linux 下3. 解决 dep 依赖问题4. 生成压缩的内核文件5. 最后的问题: tools/zSystem 已经生成后, 内核压缩问题6. 小结

2025-01-09 16:34:15 1001

原创 简单的连接脚本实例,及连接脚本的用途

1. 创建一个文本文件叫1.txt2. 把1.txt 转换成elf32 可连接文件, 叫 1.o3. 执行创建命令4. 检查结果:5. 写程序,调用elf 文件中定义的字符串. 5.1: 先写一个c 程序 main.c 5.2: 编译,连接为可执行程序 5.3: 验证结果6. 小结

2025-01-09 12:59:35 622

原创 用shell把(1到100)100个整数写入到二进制文件

1. 问题分析(需求分析)2. writeint() 的实现3. 参考源码如下:4. 执行效率测试

2025-01-05 16:20:36 368

原创 静态的IP地址是从哪里获得的?

1. 前言2. 下载调试源码3 网络接口IP地址从哪里来? 从内核通过ioctl而来.4 接口名称从哪里来?从文件而来. 文件是内核伪文件5 这个fh对应的文件名是什么?是 "/proc/net/dev"6 结论:

2024-12-30 11:44:25 575

原创 bash 中 ${-#*i} 是什么意思?

${-#*i}, 是一个变量置换.$-: 是一个内置变量,是外壳shell的标志集合,是一个字符串, 我的是himBHs#是元字符, 代表从左侧开始删除最小匹配*也是元字符, 代表匹配任何字符i不是元字符,就是字符"i"

2024-12-25 17:50:32 661

原创 /proc /dev /sys 目录的用途

甲: /proc目录:对module 的管理:$cat /proc/devices乙: /dev 目录创建设备节点命令 mknod丙: /sys 目录1. /sys/dev2. /sys/devices3. /sys/module4. /sys/class

2024-12-25 16:38:38 804

原创 系统使用杂记

## 1.开机自动挂载磁盘## 2. udp 丢包研究## 3. lspci 命令使用## 4. ifconfig 命令说明## 5. grub 启动设备表示法

2024-11-25 16:36:35 808

原创 keil-C51 linux下开发小记

## 1. 安装C51 编译器.## 2. 编译### 2.1. copy 开发头文件### 2.2 解决 sfr 和 sbit 问题.## 3. 下载, ## 4. 调试:## 5、ucsim simulator## 6、sdcdb debugger

2024-11-07 15:50:49 1131

原创 linux 下 signal() 函数的用法,信号类型在哪里定义的?

signal 是linux 下最基础的进程通讯机制.__sighandler_t signal(int signum,__sighandler_t handler);1. 第一个参数signum描述了信号类型, signum的宏定义在哪里?2. 第二个参数handler描述了与信号关联的动作,它可以取以下三种值:除了signal函数,还可以调用sigaction函数, 它的功能更强.

2024-11-07 15:10:43 495

原创 ubuntu20 从源码编译升级到版本5.15.263

甲: 编译内核 1. 下载源码 2. 配置内核, 形成.config 文件 3. 编译内核乙: 升级内核 1. 安装模块及内核, 通常是安装在/boot 目录下 2. 更新bootloader 3. 启用新内核丙: ubuntu20 怎样把新安装的内核设置成默认项

2024-10-25 15:53:53 815

原创 在linux主机上用两台虚拟机(linux)实现虚拟串口通讯

在linux主机上用两台虚拟机(linux)实现虚拟串口通讯## 1. 创建虚拟串口## 2. 通讯测试:

2024-10-19 13:24:11 650

原创 解决ubuntu20 启动卡死在 installing open-vm-tools 问题

可见原因应该是白板安装时,由于选择了安装vmware-tools, 但是由于编译环境尚不具备,可能vm-tools 并没有编译出来。把安装盘还放在cd-rom 中, 再系统启动时按F2进入bios 设置,调整为让CD-Rom 引导优先.1. 解决ubuntu20 启动卡死在 installing open-vm-tools 问题。造成启动卡死. 而又装了一次. 启动完成后看, vm-tools 是安装好的. 一切正常.安装ubuntu-20.04.6-desktop-amd64.iso。

2024-10-18 10:18:39 636

原创 vmware 下 window_10 虚拟机C盘扩容步骤

甲: 磁盘容量扩展 1. 点击vmware 软件,找到window_10虚拟机,不要启动这个虚拟机. 点击Edit Virtual Machine Setting 2. 弹出Virtual Machine Setting对话框. 3. 弹出Expand Disk Capacity对话框,乙: C 盘容量扩展 1. 启动window_10虚拟机, 等待它进入window 系统 2. 用Window_10 自带磁盘工具扩充C 盘容量

2024-10-18 09:53:21 1285

原创 verilog 介绍(附状态机实例)

1. 什么是HDL ?2. verilog 是什么?# 1. 基础知识:(词法) # 2. 常用关键字介绍# 3. 模块化设计# 4.实战: 4位密码锁设计

2024-10-12 15:15:24 1448

原创 pds 开发流程(pango design suite)使用方法

pds 开发流程(pango design suite)使用方法

2024-10-12 13:31:56 2317

原创 modelsim 软件的使用.

1. 创建工程2. 添加文件3. 编译4. 仿真准备,设置顶层模块5. 添加Wave6. 设置仿真时间7. 开始仿真8. 分析结果

2024-10-12 11:07:25 594

原创 linux 下 verilog 简明开发环境附简单实例

甲: 安装软件1. sudo apt install iverilog2. sudo apt install gtkware乙: 开发举例.在linux下, 用verilog 设计一个计数器,并给出仿真图.

2024-10-12 10:54:38 865

原创 用systemd 来控制 qt 程序的启动, 停止 . 解决 qt.qpa.xcb: could not connect to display 问题

### 1. 先写一个QT 的测试程序 basic, ### 2. 再写这个程序的服务配置文件### 3. 测试: 启动服务失败:### 4. 状态查询### 5. 详细系统日志### 6. 错误原因: 环境变量不同所致!### 7. 命令行下复现问题.### 8. 错误到底是在什么地方出现的?### 9. 解决办法: 补足其所需要的环境变量.### 10. 最后的结果

2024-09-28 16:07:33 1265 2

原创 对象作为函数参数及对象作为返回值的工作过程

问: 类对象做为函数参数是怎样工作的?答: 对象作为函数参数是值copy, 会在栈上构建对象.然后调用子函数,函数操作的是栈上的临时对象.问: 类对象做为函数返回值是怎样工作的?答: 必不可少的会有一次赋值构造(=), 很可能还跟着2次copy构造, 一次是函数return了对象,return到何方? return 到赋值构造的源(=号的右值). 另一次是赋值构造(=)也会return对象,对象的目标肯定是return到=号的左值,

2024-09-10 11:07:07 388

原创 最简单的http_post 客户端c代码

http_post 请求有2个要素,第一个是请求的url.第二个是你要post 的内容.请求的url 会被分割为IP,端口,资源位置.然后url 连同post 的内容message 按照http协议一块打包成request.最后用tcp 把request 向服务器发送,再从服务器接受响应就可以了.

2024-09-08 10:12:35 690

原创 最简单的c代码tcp 发送接受程序

/* server.c* 创建一个socket* 绑定上自己的地址* 然后就开始侦听客户端连接了.* 有客户接入, 首先accept, 得到一个新的fd,* 在这个新的fd上进行发送和接受*//* tcp_send.c* 创建一个socket* 构建服务器地址 serv_addr* 然后通过socket与服务器建立连接connect* 然后就可以收发数据了. send,recv* 需要在结束时关闭socket (close)*/

2024-09-07 16:27:13 567

原创 qtimer 测试研究

2. qtimer 默认是周期性timer, 时间到后会重新开始计时 若想使其成为一次性的, 可调用setSingleShot(true) 函数3. start(int msec) 当设置为0ms 时,会立即触发timeout, 不允许设负值(有警告输出),

2024-08-25 10:05:31 237 1

原创 avformat_open_input 打开URL的流程

0 in __libc_open64 of ../sysdeps/unix/sysv/linux/open64.c:37 1 in avpriv_open of libavutil/file_open.c:84 2 in file_open of libavformat/file.c:231 3 in ffurl_connect of libavformat/avio.c:213 4 in ffurl_open_whitelist of libavformat/avio.c:347

2024-08-14 13:29:09 742

tr_research.tar.gz

本篇文章帮助你理解如下几个问题: 1. 翻译过程是如何进行的? 2. 翻译的上下文是指的什么? 3. 如何使用QT_TR_NOOP, QT_TRANSLATE_NOOP 4. QObject::tr() 是如何工作的. 5. lupdate 工具是如何工作的. 6. 如何提取宏定义中的字符串? 也就是说宏定义中字符串如何支持国际化? 7. 类中字符串如何支持国际化. 8. 全局变量引用字符串如何支持国际化. 详细请阅读readme.txt 和把玩代码.

2020-08-14

http 协议分析代码实例

http 1.1 协议分析代码, linux 下编译,代码紧凑,very good!

2015-03-03

JSON 字符串与C 结构变量互转实例

linux c 下 json 字符串与 c 结构的相互转换, 开源软件,很有参考价值。

2015-03-03

vim73-gdb 工具

最新版vim version 73 gdb vim 和 gdb 的结合 你懂得 用 tar xvf vim73 gdb tar 解开2个压缩包 再分别解压缩 再看readme 再打补丁 编译

2015-02-07

simple encrypt decrypt algrithm

simple encrypt decrypt algrithm use xor to realize

2015-02-05

tiny httpd

微型http 服务器, 还实现了cgi 功能

2014-11-27

bat 的书写范例

bat 的书写范例, 可以学习不少使用的语法,技能

2014-04-23

linux 64位只读文件系统 romfs64

linux 64位只读文件系统 内核 2.6.32, 其它内核可能需要相应调整 扩展:从32位到64位 提高文件读取效率。 优化方式: 文件节点读入内存,采用数组管理,实现对分搜索,hash 搜索 性能不是很完美,仅供参考

2013-11-07

uxfs 文件系统移植

uxfs 源代码是linux2.4 内核的, 将它移植到linux2.6.32内核,并做了少量修改。编译,运行良好

2013-09-04

build external modules

linux 2.6 内核 kbuild 文档。 讲述编译内核模块 makefile编写事项 老外写得,英文版

2013-07-12

windows 版 bochs

bochs 虚拟机 , 可以调试内核。 纯软件模拟dev

2013-06-28

ida pro权威指南中文版

著名的ida pro权威指南, pdf 文档,我给它加了标签

2013-06-03

wget for windows/dos

小巧的wget.exe 文件,单一运行文件。仅253 K bytes wget -h 获取帮助

2010-12-22

.net 中间语言 IL 指令集

Common Language Infrastruction partition I to VI 非常详细的IL 中间语言手册。 stardard ECMA-335 英文首册。备查。

2010-10-29

windos at 命令详解, ntcmds.chm

读完txt 文档,包你会用at. 另附ntcmds.chm, 可进一步扩充查阅其它windows 命令

2010-09-14

javaspript 手册

ecma-262 javascript 手册。 英文原版 能说什么呢? 非常详细,象字典一样

2010-03-07

total tftp solution

完整的tftp 工具集,图形界面程序,控制台程序等。

2009-07-23

arm instruction set(arm 完整指令集)

arm instruction set(arm 完整指令集) chm 格式,比pdf 方便查找

2009-06-12

c++ 模板使用入门

c++ 模板使用入门 c++ 模板使用介绍 pdf

2009-04-09

三十分钟掌握STL.pdf

stl 基础教程。不要相信30分钟能掌握。30分钟有收获就可以了。 pdf 文档并简单增加了标签

2009-04-08

离散傅立叶变换DFT及其反变换IDFT c 源代码

离散傅立叶变换DFT及其反变换IDFT c 源代码 非常简洁的代码,有简洁的复数运算代码及DFT,IDFT代码 测试代码实现了从时域到频域变换,再从频域到时域变换. 验证了变换的正确性!

2024-06-28

IDA Free8.3 For Linux

是Free 版本, 支持x86, x86_64, 不支持Arm 等 支持反编译成C 语言伪代码, 开放的功能已经非常友好了.. 供学习使用还是非常不错的. linux 下版本, 我喜欢在linux 下操作. 安装: chmod +x idafree83_linux.run ./idafree83_linux.run 即可. enjoy!

2023-10-08

用SDL2.0显示图片实例代码

建议在linux下编译。 1.演示了如何显示背景图(平铺),前景图(居中)及处理键盘事件(退出)等

2022-11-02

将视频存储为一张张jpg 图片源码

利用ffmpeg 来读取视频,解压缩为一个个frame, 再利用ffmpeg 将frame 压缩成jpeg 格式存成图片. 对ffmpeg 的主要调用接口如下: 1. 打开一个文件进行解码的过程: //初始化 avformat_open_input() avformat_find_stream_info() av_find_best_stream() avcodec_find_decoder() avcodec_parameters_to_context() avcodec_open2() //循环执行 av_read_frame() avcodec_send_packet() avcodec_receive_frame() //结尾 avformat_close_input() 2. 打开一个文件进行编码的过程: //初始化 av_guess_format() avio_open(); avformat_new_stream() avcodec_find_encoder() avcodec_parameters_to_context()

2022-06-11

linux 命名管道创建及使用demo程序

1. 在程序中创建命名管道 在程序中创建命名管道,可以使用 mkfifo 函数,其原型如下: #include <sys/types.h> #include <sys/stat.h> int mkfifo(const char *pathname, mode_t mode); 2. 在程序中使用命名管道 pipe_fd = open(FIFO_NAME, open_mode); 3. 编译: make 4. 执行: 先在一个终端中执行生产者: ./namedpipe_produce 然后在另一个终端中执行消费者:./namedpipe_consume 结果是二者完成数据传输后都返回了 5. 删除命名管道 删除命名管道和删除一个普通文件没有什么区别: $ rm /tmp/testp

2022-06-02

监视程序的内存使用(linux c 源代码)

当你面对内存泄露的时候, 该程序时刻监视着你程序的内存使用情况. 你甚至可以用gdb 单步执行你的程序,来观察监视程序所报的内存使用量. 如此便能找到是谁(哪个函数?哪行代码)占用了内存. linux 下的程序, 有源代码, 你可以修改程序成更顺手的工具.

2022-05-04

Qt5 信号与槽研究,线程研究

QT5 信号与槽研究 ---------------------------------------- 一个主窗口给多个工作线程发信号,线程的槽函数是如何工作的? 是并行的还是串行的? 通过研究知道, 它是串行工作的. 而且纵然工作线程没有启动,它也可以工作. 各个槽函数只是signal 依次调用各线程下的槽函数而以. signal-slot 机制跟线程没有关系,只跟对象有关系. 下面贴上我的研究代码,里面还有其它thread 的相关知识. 例如:线程是并行运行的,如何停止线程和重启线程等.可以参考注释.

2022-03-12

OpenSSH for windows (64bits)

1,下载openSSH windows版(注:该版本是64位) 2,解压到C:\Program Files\OpenSSH 不要放在别的路径下,官方这样要求的 3,cmd到openSSH路径下 依次执行 1)安装sshd服务 powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1 2)开放22号端口(如果你在windows关闭了防火墙并配置了入站规则可以不执行如下命令,多执行不影响) netsh advfirewall firewall add rule name=sshd dir=in action=allow p

2020-11-09

buttonTable.zip

QTableWidget 是qt 提供的表格控件, 这里需要一个按键矩阵, 所以将按键作为一个单元塞到表格中,方便管理. 有一张图片显示了运行效果.

2020-07-23

virtualpanel.zip

用qt4 实现的虚拟面版, 上面有几个指示灯,几个按键, 指示灯和按键数量可自己定义, 指示灯可以定义点亮状态为红,绿,蓝, 熄灭固定为灰色.

2020-07-15

qt 在控件上绘制图形

qt 在qlabel 上画一个叉, 用来演示如何在qt 控件上绘制图形,只要重写控件的paintEvent 方法即可!很简单.

2020-05-07

the-23-gang-of-four-design-patterns-with-cplusplus.tar.gz

c++ 23种设计模式参考代码, 帮助理解23种设计模式 源代码整理自 k_eckel 的《设计模式精解-GoF 23 种设计模式解析附 C++实现源码》 内含CMakelist.txt 文件, 方便linux 下编译运行. 我设定的积分是免费,0积分,代码公开,以后下载会不会要积分就不知道了.

2020-03-08

LFS-BOOK-CN.html

首先,你应该知道Linux From Scratch 是干什么的,这篇文档是中文的. 由 Linux 中国 - LCTT - LFS 翻译小组 翻译 无分页,所有文档在一个页面中,方便查找. 还是看中文文档方便操作

2019-12-29

calltree-2.3.tar.gz

makefile 用qmake 生成, 去除了测试文件,已修改了代码文件中需要修改的地方. 在ubuntu14 下已经编译通过

2019-07-02

Qt 4.8 Timer

qt 下简单的timer 使用 和日期,时间的更新显示

2016-09-02

stl-views.gdb

gdb 打印功能扩展 # The following STL containers are currently supported: # # std::vector -- via pvector command # std::list -- via plist or plist_member command # std::map -- via pmap or pmap_member command # std::multimap -- via pmap or pmap_member command # std::set -- via pset command # std::multiset -- via pset command # std::deque -- via pdequeue command # std::stack -- via pstack command # std::queue -- via pqueue command # std::priority_queue -- via ppqueue command # std::bitset -- via pbitset command # std::string -- via pstring command # std::widestring -- via pwstring command

2016-01-23

gcc 函数调用探测功能

收集一个函数调用的踪迹,一种方法是通过在函数的入口处和出口处插入一个打印语句来检测。这个过程非常繁琐,而且很容易出错,通常需要对源代码进行大量的修改。 幸运的是,GNU 编译器工具链(也称为 gcc)提供了一种自动检测应用程序中的各个函数的方法。

2015-09-10

gdbinit-gdb 功能扩展插件

Public repo for gdbinit x86/x86_64 and ARM are supported simultaneously since version 8.0. To make ARM the default CPU set the $ARM var to 1 or use the "arm" command to switch. FEEDBACK: http://reverse.put.as - reverser@put.as You should read the header of the script for important information regarding some Mac OS X/iOS gdb bugs. Have fun, fG!

2015-07-10

vim plugin

vim plugin, windows 下工具集合,linux 下 plugin 也可以使用。

2015-05-10

webbench 批量web 页请求程序

批量 web 请求 知识点: 客户端程序构建http 请求字符串, 并发请求(用fork完成)。父子进程间信息交换

2015-03-04

空空如也

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

TA关注的人

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