自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1)
  • 资源 (16)
  • 收藏
  • 关注

转载 数据结构主要参考书

数据结构主要参考书 收藏  数据结构与算法--C++版(第3版) 市场价:¥69.00 本书全面系统地介绍了计算机科学教育中的一个重要组成部分——数据结构,并以C++语言实现相关的算法。书中主要强调了数据结构和算法之间的联系,使用面向对象的方法介绍数据结构,其内容包括算法的复杂度分析、链表、栈队列、递归技术、二叉树、图、排序以及散列。本书还清晰地阐述了同类教材中较少提到的内存管理、数据压

2013-07-18 16:14:22 1069

QPainter绘制文本转BMP32位深的图片

QPainter文本转BMP32,QImage已经保存BMP图片已经不支持32位深的了,自动降到24位深,自己组织BMP信息保存成bmp32的图片

2020-03-10

myCharView.zip

qml charview控件自定义样式,自定义x、y轴显示等

2019-05-10

自定义QMessageBox

完整代码:实现了QMessageBox的功能,并可以自定义背景,图标等功能,网上没有找到完整的代码,只有自己实现了,参考了一个大牛一去丶二三里的文章:https://blog.csdn.net/liang19890820/article/details/50586031,但是感觉他的很复杂,代码也不全,就自己写了个

2018-05-30

软考类别、资格、级别对应表

计算机技术与软件专业资格(水平)考试 专业类别、资格名称和级别层次对应表!

2018-01-02

软件设计师历年真题全汇总

软件设计师历年真题全汇总(2004上半年-2015上半年)(答案+解析),供四十多份

2018-01-02

log查看工具

windows下log查看工具,windows下开发测试的好帮手,一直在用!

2018-01-02

重装win7找回linux启动项的方法

重装win7找回linux启动项的方法

2013-06-13

Linux设备驱动程序第三版

目录 1. 第一章 设备驱动简介(见 [标题编号.]) 1.1. 驱动程序的角色(见 [标题编号.]) 1.2. 划分内核(见 [标题编号.]) 1.2.1. 可加载模块(见 [标题编号.]) 1.3. 设备和模块的分类(见 [标题编号.]) 1.4. 安全问题(见 [标题编号.]) 1.5. 版本编号(见 [标题编号.]) 1.6. 版权条款(见 [标题编号.]) 1.7. 加入内核开发社团(见 [标题编号.]) 1.8. 本书的内容(见 [标题编号.]) 2. 建立和运行模块(见 [标题编号.]) 2.1. 设置你的测试系统(见 [标题编号.]) 2.2. Hello World 模块(见 [标题编号.]) 2.3. 内核模块相比于应用程序(见 [标题编号.]) 2.3.1. 用户空间和内核空间(见 [标题编号.]) 2.3.2. 内核的并发(见 [标题编号.]) 2.3.3. 当前进程(见 [标题编号.]) 2.3.4. 几个别的细节(见 [标题编号.]) 2.4. 编译和加载(见 [标题编号.]) 2.4.1. 编译模块(见 [标题编号.]) 2.4.2. 加载和卸载模块(见 [标题编号.]) 2.4.3. 版本依赖(见 [标题编号.]) 2.4.4. 平台依赖性(见 [标题编号.]) 2.5. 内核符号表(见 [标题编号.]) 2.6. 预备知识(见 [标题编号.]) 2.7. 初始化和关停(见 [标题编号.]) 2.7.1. 清理函数(见 [标题编号.]) 2.7.2. 初始化中的错误处理(见 [标题编号.]) 2.7.3. 模块加载竞争(见 [标题编号.]) 2.8. 模块参数(见 [标题编号.]) 2.9. 在用户空间做(见 [标题编号.]) 2.10. 快速参考(见 [标题编号.]) 3. 字符驱动(见 [标题编号.]) 3.1. scull 的设计(见 [标题编号.]) 3.2. 主次编号(见 [标题编号.]) 3.2.1. 设备编号的内部表示(见 [标题编号.]) 3.2.2. 分配和释放设备编号(见 [标题编号.]) 3.2.3. 主编号的动态分配(见 [标题编号.]) 3.3. 一些重要数据结构(见 [标题编号.]) 3.3.1. 文件操作(见 [标题编号.]) 3.3.2. 文件结构(见 [标题编号.]) 3.3.3. inode 结构(见 [标题编号.]) 3.4. 字符设备注册(见 [标题编号.]) 3.4.1. scull 中的设备注册(见 [标题编号.]) 3.4.2. 老方法(见 [标题编号.]) 3.5. open 和 release(见 [标题编号.]) 3.5.1. open 方法(见 [标题编号.]) 3.5.2. release 方法(见 [标题编号.]) 3.6. scull 的内存使用(见 [标题编号.]) 3.7. 读和写(见 [标题编号.]) 3.7.1. read 方法(见 [标题编号.]) 3.7.2. write 方法(见 [标题编号.]) 3.7.3. readv 和 writev(见 [标题编号.]) 3.8. 使用新设备(见 [标题编号.]) 3.9. 快速参考(见 [标题编号.]) 4. 调试技术(见 [标题编号.]) 4.1. 内核中的调试支持(见 [标题编号.]) 4.2. 用打印调试(见 [标题编号.]) 4.2.1. printk(见 [标题编号.]) 4.2.2. 重定向控制台消息(见 [标题编号.]) 4.2.3. 消息是如何记录的(见 [标题编号.]) 4.2.4. 打开和关闭消息(见 [标题编号.]) 4.2.5. 速率限制(见 [标题编号.]) 4.2.6. 打印设备编号(见 [标题编号.]) 4.3. 用查询来调试(见 [标题编号.]) 4.3.1. 使用 /proc 文件系统(见 [标题编号.]) 4.3.2. ioctl 方法(见 [标题编号.]) 4.4. 使用观察来调试(见 [标题编号.]) 4.5. 调试系统故障(见 [标题编号.]) 4.5.1. oops 消息(见 [标题编号.]) 4.5.2. 系统挂起(见 [标题编号.]) 4.6. 调试器和相关工具(见 [标题编号.]) 4.6.1. 使用 gdb(见 [标题编号.]) 4.6.2. kdb 内核调试器(见 [标题编号.]) 4.6.3. kgdb 补丁(见 [标题编号.]) 4.6.4. 用户模式 Linux 移植(见 [标题编号.]) 4.6.5. Linux 追踪工具(见 [标题编号.]) 4.6.6. 动态探针(见 [标题编号.]) 5. 并发和竞争情况(见 [标题编号.]) 5.1. scull 中的缺陷(见 [标题编号.]) 5.2. 并发和它的管理(见 [标题编号.]) 5.3. 旗标和互斥体(见 [标题编号.]) 5.3.1. Linux 旗标实现(见 [标题编号.]) 5.3.2. 在 scull 中使用旗标(见 [标题编号.]) 5.3.3. 读者/写者旗标(见 [标题编号.]) 5.4. Completions 机制(见 [标题编号.]) 5.5. 自旋锁(见 [标题编号.]) 5.5.1. 自旋锁 API 简介(见 [标题编号.]) 5.5.2. 自旋锁和原子上下文(见 [标题编号.]) 5.5.3. 自旋锁函数(见 [标题编号.]) 5.5.4. 读者/写者自旋锁(见 [标题编号.]) 5.6. 锁陷阱(见 [标题编号.]) 5.6.1. 模糊的规则(见 [标题编号.]) 5.6.2. 加锁顺序规则(见 [标题编号.]) 5.6.3. 细 -粗- 粒度加锁(见 [标题编号.]) 5.7. 加锁的各种选择(见 [标题编号.]) 5.7.1. 不加锁算法(见 [标题编号.]) 5.7.2. 原子变量(见 [标题编号.]) 5.7.3. 位操作(见 [标题编号.]) 5.7.4. seqlock 锁(见 [标题编号.]) 5.7.5. 读取-拷贝-更新(见 [标题编号.]) 5.8. 快速参考(见 [标题编号.]) 6. 高级字符驱动操作(见 [标题编号.]) 6.1. ioctl 接口(见 [标题编号.]) 6.1.1. 选择 ioctl 命令(见 [标题编号.]) 6.1.2. 返回值(见 [标题编号.]) 6.1.3. 预定义的命令(见 [标题编号.]) 6.1.4. 使用 ioctl 参数(见 [标题编号.]) 6.1.5. 兼容性和受限操作(见 [标题编号.]) 6.1.6. ioctl 命令的实现(见 [标题编号.]) 6.1.7. 不用 ioctl 的设备控制(见 [标题编号.]) 6.2. 阻塞 I/O(见 [标题编号.]) 6.2.1. 睡眠的介绍(见 [标题编号.]) 6.2.2. 简单睡眠(见 [标题编号.]) 6.2.3. 阻塞和非阻塞操作 (见 [标题编号.]) 6.2.4. 一个阻塞 I/O 的例子(见 [标题编号.]) 6.2.5. 高级睡眠(见 [标题编号.]) 6.2.6. 测试 scullpipe 驱动(见 [标题编号.]) 6.3. poll 和 select(见 [标题编号.]) 6.3.1. 与 read 和 write 的交互(见 [标题编号.]) 6.3.2. 底层的数据结构(见 [标题编号.]) 6.4. 异步通知(见 [标题编号.]) 6.4.1. 驱动的观点(见 [标题编号.]) 6.5. 移位一个设备(见 [标题编号.]) 6.5.1. llseek 实现(见 [标题编号.]) 6.6. 在一个设备文件上的存取控制(见 [标题编号.]) 6.6.1. 单 open 设备(见 [标题编号.]) 6.6.2. 一次对一个用户限制存取(见 [标题编号.]) 6.6.3. 阻塞 open 作为对 EBUSY 的替代(见 [标题编号.]) 6.6.4. 在 open 时复制设备(见 [标题编号.]) 6.7. 快速参考(见 [标题编号.]) 7. 时间, 延时, 和延后工作(见 [标题编号.]) 7.1. 测量时间流失(见 [标题编号.]) 7.1.1. 使用 jiffies 计数器(见 [标题编号.]) 7.1.2. 处理器特定的寄存器(见 [标题编号.]) 7.2. 获知当前时间(见 [标题编号.]) 7.3. 延后执行(见 [标题编号.]) 7.3.1. 长延时(见 [标题编号.]) 7.3.2. 短延时(见 [标题编号.]) 7.4. 内核定时器(见 [标题编号.]) 7.4.1. 定时器 API(见 [标题编号.]) 7.4.2. 内核定时器的实现(见 [标题编号.]) 7.5. Tasklets 机制(见 [标题编号.]) 7.6. 工作队列(见 [标题编号.]) 7.6.1. 共享队列(见 [标题编号.]) 7.7. 快速参考(见 [标题编号.]) 7.7.1. 时间管理(见 [标题编号.]) 7.7.2. 延迟(见 [标题编号.]) 7.7.3. 内核定时器(见 [标题编号.]) 7.7.4. Tasklets 机制(见 [标题编号.]) 7.7.5. 工作队列(见 [标题编号.]) 8. 分配内存(见 [标题编号.]) 8.1. kmalloc 的真实故事(见 [标题编号.]) 8.1.1. flags 参数(见 [标题编号.]) 8.1.2. size 参数(见 [标题编号.]) 8.2. 后备缓存(见 [标题编号.]) 8.2.1. 一个基于 Slab 缓存的 scull: scullc(见 [标题编号.]) 8.2.2. 内存池(见 [标题编号.]) 8.3. get_free_page 和其友(见 [标题编号.]) 8.3.1. 一个使用整页的 scull: scullp(见 [标题编号.]) 8.3.2. alloc_pages 接口(见 [标题编号.]) 8.3.3. vmalloc 和 其友(见 [标题编号.]) 8.3.4. 一个使用虚拟地址的 scull : scullv(见 [标题编 8.4. 每-CPU 的变量(见 [标题编号.]) 8.5. 获得大量缓冲(见 [标题编号.]) 8.5.1. 在启动时获得专用的缓冲(见 [标题编号.]) 8.6. 快速参考(见 [标题编号.]) 9. 与硬件通讯(见 [标题编号.]) 9.1. I/O 端口和 I/O 内存(见 [标题编号.]) 9.1.1. I/O 寄存器和常规内存(见 [标题编号.]) 9.2. 使用 I/O 端口(见 [标题编号.]) 9.2.1. I/O 端口分配(见 [标题编号.]) 9.2.2. 操作 I/O 端口(见 [标题编号.]) 9.2.3. 从用户空间的 I/O 存取(见 [标题编号.]) 9.2.4. 字串操作(见 [标题编号.]) 9.2.5. 暂停 I/O(见 [标题编号.]) 9.2.6. 平台依赖性(见 [标题编号.]) 9.3. 一个 I/O 端口例子(见 [标题编号.]) 9.3.1. 并口纵览(见 [标题编号.]) 9.3.2. 一个例子驱动(见 [标题编号.]) 9.4. 使用 I/O 内存(见 [标题编号.]) 9.4.1. I/O 内存分配和映射(见 [标题编号.]) 9.4.2. 存取 I/O 内存(见 [标题编号.]) 9.4.3. 作为 I/O 内存的端口(见 [标题编号.]) 9.4.4. 重用 short 为 I/O 内存(见 [标题编号.]) 9.4.5. 在 1 MB 之下的 ISA 内存(见 [标题编号.]) 9.4.6. isa_readb 和其友(见 [标题编号.]) 9.5. 快速参考(见 [标题编号.]) 10. 中断处理(见 [标题编号.]) 10.1. 准备并口(见 [标题编号.]) 10.2. 安装一个中断处理(见 [标题编号.]) 10.2.1. /proc 接口(见 [标题编号.]) 10.2.2. 自动检测 IRQ 号(见 [标题编号.]) 10.2.3. 快速和慢速处理(见 [标题编号.]) 10.2.4. 实现一个处理(见 [标题编号.]) 10.2.5. 处理者的参数和返回值(见 [标题编号.]) 10.2.6. 使能和禁止中断(见 [标题编号.]) 10.3. 前和后半部(见 [标题编号.]) 10.3.1. Tasklet 实现(见 [标题编号.]) 10.3.2. 工作队列(见 [标题编号.]) 10.4. 中断共享(见 [标题编号.]) 10.4.1. 安装一个共享的处理者(见 [标题编号.]) 10.4.2. 运行处理者(见 [标题编号.]) 10.4.3. /proc 接口和共享中断(见 [标题编号.]) 10.5. 中断驱动 I/O(见 [标题编号.]) 10.5.1. 一个写缓存例子(见 [标题编号.]) 10.6. 快速参考(见 [标题编号.]) 11. 内核中的数据类型(见 [标题编号.]) 11.1. 标准 C 类型的使用(见 [标题编号.]) 11.2. 安排一个明确大小给数据项(见 [标题编号.]) 11.3. 接口特定的类型(见 [标题编号.]) 11.4. 其他移植性问题(见 [标题编号.]) 11.4.1. 时间间隔(见 [标题编号.]) 11.4.2. 页大小(见 [标题编号.]) 11.4.3. 字节序(见 [标题编号.]) 11.4.4. 数据对齐(见 [标题编号.]) 11.4.5. 指针和错误值(见 [标题编号.]) 11.5. 链表(见 [标题编号.]) 11.6. 快速参考(见 [标题编号.]) 12. PCI 驱动(见 [标题编号.]) 12.1. PCI 接口(见 [标题编号.]) 12.1.1. PCI 寻址(见 [标题编号.]) 12.1.2. 启动时间(见 [标题编号.]) 12.1.3. 配置寄存器和初始化(见 [标题编号.]) 12.1.4. MODULEDEVICETABLE 宏(见 [标题编号.]) 12.1.5. 注册一个 PCI 驱动(见 [标题编号.]) 12.1.6. 老式 PCI 探测(见 [标题编号.]) 12.1.7. 使能 PCI 设备(见 [标题编号.]) 12.1.8. 存取配置空间(见 [标题编号.]) 12.1.9. 存取 I/O 和内存空间(见 [标题编号.]) 12.1.10. PCI 中断(见 [标题编号.]) 12.1.11. 硬件抽象(见 [标题编号.]) 12.2. 回顾: ISA(见 [标题编号.]) 12.2.1. 硬件资源(见 [标题编号.]) 12.2.2. ISA 编程(见 [标题编号.]) 12.2.3. 即插即用规范(见 [标题编号.]) 12.3. PC/104 和 PC/104+(见 [标题编号.]) 12.4. 其他的 PC 总线(见 [标题编号.]) 12.4.1. MCA 总线(见 [标题编号.]) 12.4.2. EISA 总线(见 [标题编号.]) 12.4.3. VLB 总线(见 [标题编号.]) 12.5. SBus(见 [标题编号.]) 12.6. NuBus 总线(见 [标题编号.]) 12.7. 外部总线(见 [标题编号.]) 12.8. 快速参考(见 [标题编号.]) 13. USB 驱动(见 [标题编号.]) 13.1. USB 设备基础知识(见 [标题编号.]) 13.1.1. 端点(见 [标题编号.]) 13.1.2. 接口(见 [标题编号.]) 13.1.3. 配置(见 [标题编号.]) 13.2. USB 和 sysfs(见 [标题编号.]) 13.3. USB 的 Urbs(见 [标题编号.]) 13.3.1. 结构 struct urb(见 [标题编号.]) 13.3.2. 创建和销毁 urb(见 [标题编号.]) 13.3.3. 提交 urb(见 [标题编号.]) 13.3.4. 完成 urb: 完成回调处理者(见 [标题编号.]) 13.3.5. 取消 urb(见 [标题编号.]) 13.4. 编写一个 USB 驱动(见 [标题编号.]) 13.4.1. 驱动支持什么设备(见 [标题编号.]) 13.4.2. 注册一个 USB 驱动(见 [标题编号.]) 13.4.3. 提交和控制一个 urb(见 [标题编号.]) 13.5. 无 urb 的 USB 传送(见 [标题编号.]) 13.5.1. usb_bulk_msg 接口(见 [标题编号.]) 13.5.2. usb_control_msg 接口(见 [标题编号.]) 13.5.3. 使用 USB 数据函数(见 [标题编号.]) 13.6. 快速参考(见 [标题编号.]) 14. Linux 设备模型(见 [标题编号.]) 14.1. Kobjects, Ksets 和 Subsystems (见 [标题编号.]) 14.1.1. Kobject 基础(见 [标题编号.]) 14.1.2. kobject 层次, kset, 和子系统(见 [标题编号.]) 14.2. 低级 sysfs 操作(见 [标题编号.]) 14.2.1. 缺省属性(见 [标题编号.]) 14.2.2. 非缺省属性(见 [标题编号.]) 14.2.3. 二进制属性(见 [标题编号.]) 14.2.4. 符号连接(见 [标题编号.]) 14.3. 热插拔事件产生(见 [标题编号.]) 14.3.1. 热插拔操作(见 [标题编号.]) 14.4. 总线, 设备, 和驱动(见 [标题编号.]) 14.4.1. 总线(见 [标题编号.]) 14.4.2. 设备(见 [标题编号.]) 14.4.3. 设备驱动(见 [标题编号.]) 14.5. 类(见 [标题编号.]) 14.5.1. class_simple 接口(见 [标题编号.]) 14.5.2. 完整的类接口(见 [标题编号.]) 14.6. 集成起来(见 [标题编号.]) 14.6.1. 添加一个设备(见 [标题编号.]) 14.6.2. 去除一个设备(见 [标题编号.]) 14.6.3. 添加一个驱动(见 [标题编号.]) 14.6.4. 去除一个驱动(见 [标题编号.]) 14.7. 热插拔(见 [标题编号.]) 14.7.1. 动态设备(见 [标题编号.]) 14.7.2. /sbin/hotplug 工具(见 [标题编号.]) 14.7.3. 使用 /sbin/hotplug (见 [标题编号.]) 14.8. 处理固件(见 [标题编号.]) 14.8.1. 内核固件接口(见 [标题编号.]) 14.8.2. 它如何工作(见 [标题编号.]) 14.9. 快速参考(见 [标题编号.]) 14.9.1. Kobjects结构(见 [标题编号.]) 14.9.2. sysfs 操作(见 [标题编号.]) 14.9.3. 总线, 设备, 和驱动(见 [标题编号.]) 14.9.4. 类(见 [标题编号.]) 14.9.5. 固件(见 [标题编号.]) 15. 内存映射和 DMA (见 [标题编号.]) 15.1. Linux 中的内存管理(见 [标题编号.]) 15.1.1. 地址类型(见 [标题编号.]) 15.1.2. 物理地址和页(见 [标题编号.]) 15.1.3. 高和低内存(见 [标题编号.]) 15.1.4. 内存映射和 struct page(见 [标题编号.]) 15.1.5. 页表(见 [标题编号.]) 15.1.6. 虚拟内存区(见 [标题编号.]) 15.1.7. 进程内存映射(见 [标题编号.]) 15.2. mmap 设备操作(见 [标题编号.]) 15.2.1. 使用 remap_pfn_range(见 [标题编号.]) 15.2.2. 一个简单的实现(见 [标题编号.]) 15.2.3. 添加 VMA 的操作(见 [标题编号.]) 15.2.4. 使用 nopage 映射内存(见 [标题编号.]) 15.2.5. 重新映射特定 I/O 区(见 [标题编号.]) 15.2.6. 重新映射 RAM(见 [标题编号.]) 15.2.7. 重映射内核虚拟地址(见 [标题编号.]) 15.3. 进行直接 I/O(见 [标题编号.]) 15.3.1. 异步 I/O(见 [标题编号.]) 15.4. 直接内存存取(见 [标题编号.]) 15.4.1. 一个 DMA 数据传输的概况(见 [标题编号.]) 15.4.2. 分配 DMA 缓冲(见 [标题编号.]) 15.4.3. 总线地址(见 [标题编号.]) 15.4.4. 通用 DMA 层(见 [标题编号.]) 15.4.5. ISA 设备的 DMA(见 [标题编号.]) 15.5. 快速参考(见 [标题编号.]) 15.5.1. 介绍性材料(见 [标题编号.]) 15.5.2. 实现 mmap(见 [标题编号.]) 15.5.3. 实现直接 I/O(见 [标题编号.]) 15.5.4. 直接内存存取(见 [标题编号.]) 16. 块驱动(见 [标题编号.]) 16.1. 注册(见 [标题编号.]) 16.1.1. 块驱动注册(见 [标题编号.]) 16.1.2. 磁盘注册(见 [标题编号.]) 16.1.3. 在 sbull 中的初始化(见 [标题编号.]) 16.1.4. 注意扇区大小(见 [标题编号.]) 16.2. 块设备操作(见 [标题编号.]) 16.2.1. open 和 release 方法(见 [标题编号.]) 16.2.2. 支持可移出的介质(见 [标题编号.]) 16.2.3. ioctl 方法(见 [标题编号.]) 16.3. 请求处理(见 [标题编号.]) 16.3.1. 对请求方法的介绍(见 [标题编号.]) 16.3.2. 一个简单的请求方法(见 [标题编号.]) 16.3.3. 请求队列(见 [标题编号.]) 16.3.4. 请求的分析(见 [标题编号.]) 16.3.5. 请求完成函数(见 [标题编号.]) 16.4. 一些其他的细节(见 [标题编号.]) 16.4.1. 命令预准备(见 [标题编号.]) 16.4.2. 被标识的命令排队(见 [标题编号.]) 16.5. 快速参考(见 [标题编号.]) 17. 网络驱动(见 [标题编号.]) 17.1. snull 是如何设计的(见 [标题编号.]) 17.1.1. 分配 IP 号(见 [标题编号.]) 17.1.2. 报文的物理传送(见 [标题编号.]) 17.2. 连接到内核(见 [标题编号.]) 17.2.1. 设备注册(见 [标题编号.]) 17.2.2. 初始化每一个设备(见 [标题编号.]) 17.2.3. 模块卸载(见 [标题编号.]) 17.3. net_device 结构的详情(见 [标题编号.]) 17.3.1. 全局信息(见 [标题编号.]) 17.3.2. 硬件信息(见 [标题编号.]) 17.3.3. 接口信息(见 [标题编号.]) 17.3.4. 设备方法(见 [标题编号.]) 17.3.5. 公用成员(见 [标题编号.]) 17.4. 打开与关闭(见 [标题编号.]) 17.5. 报文传送(见 [标题编号.]) 17.5.1. 控制发送并发(见 [标题编号.]) 17.5.2. 传送超时(见 [标题编号.]) 17.5.3. 发散/汇聚 I/O(见 [标题编号.]) 17.6. 报文接收(见 [标题编号.]) 17.7. 中断处理(见 [标题编号.]) 17.8. 接收中断缓解(见 [标题编号.]) 17.9. 连接状态的改变(见 [标题编号.]) 17.10. Socket 缓存(见 [标题编号.]) 17.10.1. 重要成员变量(见 [标题编号.]) 17.10.2. 作用于 socket 缓存的函数(见 [标题编号.]) 17.11. MAC 地址解析(见 [标题编号.]) 17.11.1. 以太网使用 ARP(见 [标题编号.]) 17.11.2. 不考虑 ARP(见 [标题编号.]) 17.11.3. 非以太网头部(见 [标题编号.]) 17.12. 定制 ioctl 命令(见 [标题编号.]) 17.13. 统计信息(见 [标题编号.]) 17.14. 多播(见 [标题编号.]) 17.14.1. 多播的内核支持(见 [标题编号.]) 17.14.2. 典型实现(见 [标题编号.]) 17.15. 几个其他细节(见 [标题编号.]) 17.15.1. 独立于媒介的接口支持(见 [标题编号.]) 17.15.2. ethtool 支持(见 [标题编号.]) 17.15.3. netpoll(见 [标题编号.]) 17.16. 快速参考(见 [标题编号.]) 18. TTY 驱动(见 [标题编号.]) 18.1. 一个小 TTY 驱动(见 [标题编号.]) 18.1.1. 结构 struct termios(见 [标题编号.]) 18.2. tty_driver 函数指针(见 [标题编号.]) 18.2.1. open 和 close(见 [标题编号.]) 18.2.2. 数据流(见 [标题编号.]) 18.2.3. 其他缓冲函数(见 [标题编号.]) 18.2.4. 无 read 函数?(见 [标题编号.]) 18.3. TTY 线路设置(见 [标题编号.]) 18.3.1. set_termios 函数(见 [标题编号.]) 18.3.2. tiocmget 和 tiocmset(见 [标题编号.]) 18.4. ioctls 函数(见 [标题编号.]) 18.5. TTY 设备的 proc 和 sysfs 处理(见 [标题编号.]) 18.6. tty_driver 结构的细节(见 [标题编号.]) 18.7. tty_operaions 结构的细节(见 [标题编号.]) 18.8. tty_struct 结构的细节(见 [标题编号.]) 18.9. 快速参考(见 [标题编号.])

2013-06-13

Linux下的vi编辑器配置文件

文本编辑器Vi 简介 Vi是一个功能强大的全屏幕文本编辑器,是UNIX 上最常用的文本编辑器,它的作用是建立、编辑、显示文本文件。 pVi没有菜单,只有命令。 注意:Vi命令并不锁住所编辑的文件,因此多个用户可能同时编辑一个文件,那么最后保存的文件版本将被保留。

2013-06-13

硬盘检测工具

HD Tune Pro硬盘检测工具是一款小巧易用的硬盘工具软件,其主要功能有硬盘传输速率检测,健康状态检测,温度检测及磁盘表面扫描等。另外,还能检测出硬盘的固件版本、序列号、容量、缓存大小以及当前的Ultra DMA模式等。虽然这些功能其它软件也有,但难能可贵的是此软件把所有这些功能积于一身,而且非常小巧,速度又快,更重要的是它是免费软件,可自由使用。

2013-06-13

UNIX环境高级编程

图书目录 第1章 UNIX基础知识 1 1.1 引言 1 1.2 UNIX体系结构 1 1.3 登录 1 1.4 文件和目录 3 1.5 输入和输出 6 1.6 程序和进程 8 1.7 出错处理 10 1.8 用户标识 12 1.9 信号 14 1.10 时间值 15 1.11 系统调用和库函数 16 1.12 小结 17 习题 18 第2章 UNIX标准化及实现 19 2.1 引言 19 2.2 UNIX标准化 19 2.2.1 ISO C 19 2.2.2 IEEE POSIX 20 2.2.3 Single UNIX Specification 25 2.2.4 FIPS 26 2.3 UNIX系统实现 26 2.3.1 SVR4 26 2.3.2 4.4BSD 27 2.3.3 FreeBSD 27 2.3.4 Linux 27 2.3.5 Mac OS X 28 2.3.6 Solaris 28 2.3.7 其他UNIX系统 28 2.4 标准和实现的关系 28 2.5 限制 29 2.5.1 ISO C限制 29 2.5.2 POSIX限制 30 2.5.3 XSI限制 32 2.5.4 sysconf、pathconf和fpathconf函数 32 2.5.5 不确定的运行时限制 38 2.6 选项 42 2.7 功能测试宏 44 2.8 基本系统数据类型 45 2.9 标准之间的冲突 45 2.10 小结 46 习题 46 第3章 文件I/O 47 3.1 引言 47 3.2 文件描述符 47 3.3 open函数 48 3.4 creat函数 49 3.5 close函数 50 3.6 lseek函数 50 3.7 read函数 53 3.8 write函数 54 3.9 I/O的效率 54 3.10 文件共享 56 3.11 原子操作 59 3.12 dup和dup2函数 60 3.13 sync、fsync和fdatasync函数 61 3.14 fcntl函数 62 3.15 ioctl函数 66 3.16 /dev/fd 67 3.17 小结 68 习题 68 第4章 文件和目录 71 4.1 引言 71 4.2 stat、fstat和lstat函数 71 4.3 文件类型 72 4.4 设置用户ID和设置组ID 74 4.5 文件访问权限 75 4.6 新文件和目录的所有权 77 4.7 access函数 77 4.8 umask函数 79 4.9 chmod和fchmod函数 81 4.10 粘住位 83 4.11 chown、fchown和lchown函数 84 4.12 文件长度 85 4.13 文件截短 86 4.14 文件系统 86 4.15 link、unlink、remove和rename函数 89 4.16 符号链接 91 4.17 symlink和readlink函数 94 4.18 文件的时间 94 4.19 utime函数 95 4.20 mkdir和rmdir函数 97 4.21 读目录 98 4.22 chdir、fchdir和getcwd函数 102 4.23 设备特殊文件 104 4.24 文件访问权限位小结 106 4.25 小结 106 习题 107 第5章 标准I/O库 109 5.1 引言 109 5.2 流和FILE对象 109 5.3 标准输入、标准输出和标准出错 110 5.4 缓冲 110 5.5 打开流 112 5.6 读和写流 114 5.7 每次一行I/O 116 5.8 标准I/O的效率 117 5.9 二进制I/O 119 5.10 定位流 120 5.11 格式化I/O 121 5.12 实现细节 125 5.13 临时文件 127 5.14 标准I/O的替代软件 130 5.15 小结 130 习题 130 第6章 系统数据文件和信息 133 6.1 引言 133 6.2 口令文件 133 6.3 阴影口令 136 6.4 组文件 137 6.5 附加组ID 138 6.6 实现的区别 139 6.7 其他数据文件 139 6.8 登录账户记录 140 6.9 系统标识 141 6.10 时间和日期例程 142 6.11 小结 146 习题 146 第7章 进程环境 147 7.1 引言 147 7.2 main函数 147 7.3 进程终止 147 7.4 命令行参数 151 7.5 环境表 152 7.6 C程序的存储空间布局 152 7.7 共享库 154 7.8 存储器分配 154 7.9 环境变量 157 7.10 setjmp和longjmp函数 159 7.11 getrlimit和setrlimit函数 164 7.12 小结 168 习题 168 第8章 进程控制 171 8.1 引言 171 8.2 进程标识符 171 8.3 fork函数 172 8.4 vfork函数 176 8.5 exit函数 178 8.6 wait和waitpid函数 179 8.7 waitid函数 183 8.8 wait3和wait4函数 184 8.9 竞争条件 185 8.10 exec函数 188 8.11 更改用户ID和组ID 192 8.12 解释器文件 196 8.13 system函数 200 8.14 进程会计 203 8.15 用户标识 208 8.16 进程时间 208 8.17 小结 210 习题 211 第9章 进程关系 213 9.1 引言 213 9.2 终端登录 213 9.3 网络登录 216 9.4 进程组 218 9.5 会话 219 9.6 控制终端 220 9.7 tcgetpgrp、tcsetpgrp和tcgetsid函数 221 9.8 作业控制 222 9.9 shell执行程序 225 9.10 孤儿进程组 228 9.11 FreeBSD实现 230 9.12 小结 231 习题 232 第10章 信号 233 10.1 引言 233 10.2 信号概念 233 10.3 signal函数 240 10.4 不可靠的信号 242 10.5 中断的系统调用 244 10.6 可重入函数 246 10.7 SIGCLD语义 248 10.8 可靠信号术语和语义 250 10.9 kill和raise函数 251 10.10 alarm和pause函数 252 10.11 信号集 256 10.12 sigprocmask函数 258 10.13 sigpending函数 259 10.14 sigaction函数 261 10.15 sigsetjmp和siglongjmp函数 266 10.16 sigsuspend函数 268 10.17 abort函数 274 10.18 system函数 276 10.19 sleep函数 280 10.20 作业控制信号 282 10.21 其他特征 284 10.22 小结 285 习题 285 第11章 线程 287 11.1 引言 287 11.2 线程概念 287 11.3 线程标识 288 11.4 线程的创建 288 11.5 线程终止 291 11.6 线程同步 297 11.7 小结 311 习题 311 第12章 线程控制 313 12.1 引言 313 12.2 线程限制 313 12.3 线程属性 314 12.4 同步属性 318 12.5 重入 324 12.6 线程私有数据 328 12.7 取消选项 331 12.8 线程和信号 333 12.9 线程和fork 336 12.10 线程和I/O 339 12.11 小结 340 习题 340 第13章 守护进程 341 13.1 引言 341 13.2 守护进程的特征 341 13.3 编程规则 342 13.4 出错记录 345 13.5 单实例守护进程 348 13.6 守护进程的惯例 350 13.7 客户进程-服务器进程模型 354 13.8 小结 354 习题 354 第14章 高级I/O 355 14.1 引言 355 14.2 非阻塞I/O 355 14.3 记录锁 357 14.4 STREAMS 370 14.5 I/O多路转接 379 14.5.1 select和pselect函数 381 14.5.2 poll函数 384 14.6 异步I/O 386 14.6.1 系统V异步I/O 386 14.6.2 BSD异步I/O 387 14.7 readv和writev函数 387 14.8 readn和writen函数 389 14.9 存储映射I/O 390 14.10 小结 395 习题 396 第15章 进程间通信 397 15.1 引言 397 15.2 管道 398 15.3 popen和pclose函数 403 15.4 协同进程 408 15.5 FIFO 412 15.6 XSI IPC 415 15.6.1 标识符和键 415 15.6.2 权限结构 416 15.6.3 结构限制 417 15.6.4 优点和缺点 417 15.7 消息队列 418 15.8 信号量 422 15.9 共享存储 427 15.10 客户进程-服务器进程属性 432 15.11 小结 434 习题 434 第16章 网络IPC:套接字 437 16.1 引言 437 16.2 套接字描述符 437 16.3 寻址 439 16.3.1 字节序 440 16.3.2 地址格式 441 16.3.3 地址查询 442 16.3.4 将套接字与地址绑定 449 16.4 建立连接 450 16.5 数据传输 452 16.6 套接字选项 464 16.7 带外数据 466 16.8 非阻塞和异步I/O 467 16.9 小结 468 习题 468 第17章 高级进程间通信 469 17.1 引言 469 17.2 基于STREAMS的管道 469 17.2.1 命名的STREAMS管道 472 17.2.2 唯一连接 473 17.3 UNIX域套接字 476 17.3.1 命名UNIX域套接字 477 17.3.2 唯一连接 478 17.4 传送文件描述符 482 17.4.1 经由基于STREAMS的管道传送文件描述符 484 17.4.2 经由UNIX域套接字传送文件描述符 486 17.5 open服务器版本1 493 17.6 open服务器版本2 498 17.7 小结 505 习题 505 第18章 终端I/O 507 18.1 引言 507 18.2 综述 507 18.3 特殊输入字符 512 18.4 获得和设置终端属性 516 18.5 终端选项标志 516 18.6 stty命令 522 18.7 波特率函数 523 18.8 行控制函数 524 18.9 终端标识 524 18.10 规范模式 529 18.11 非规范模式 532 18.12 终端的窗口大小 537 18.13 termcap,terminfo和curses 539 18.14 小结 540 习题 540 第19章 伪终端 541 19.1 引言 541 19.2 概述 541 19.3 打开伪终端设备 544 19.3.1 基于STREAMS的伪终端 547 19.3.2 基于BSD的伪终端 549 19.3.3 基于Linux的伪终端 551 19.4 pty_fork函数 553 19.5 pty程序 555 19.6 使用pty程序 559 19.7 高级特性 564 19.8 小结 565 习题 565 第20章 数据库函数库 567 20.1 引言 567 20.2 历史 567 20.3 函数库 568 20.4 实现概述 569 20.5 集中式或非集中式 572 20.6 并发 574 20.7 构造函数库 574 20.8 源代码 575 20.9 性能 598 20.10 小结 600 习题 601 第21章 与网络打印机通信 603 21.1 引言 603 21.2 网络打印协议 603 21.3 超文本传输协议 605 21.4 打印假脱机技术 605 21.5 源代码 607 21.6 小结 644 习题 645 附录A 函数原型 647 附录B 其他源代码 677 附录C 部分习题答案 685 参考书目 709 索引 715

2013-04-19

《Linux窗口程序设计 -Q4精彩实例分析》

目录 第1章 基本对话框 实例1 Hello World! 实例2 标准对话框的使用 实例3 各类位置信息 实例4 使用标准输入框 实例5 各种消息框的使用 实例6 实现QQ抽屉效果 实例7 表格的使用 实例8 使用进度条 实例9 利用Qt Designer设计一个对话框 实例10 在程序中使用ui 实例11 动态加载ui 第2章 布局管理 实例12 基本布局管理 实例13 多文档 实例14 分割窗口 实例15 停靠窗口 实例16 堆栈窗体 实例17 综合布局 实例 第3章 对话框进阶 实例18 可扩展对话框 实例19 利用QPalette改变控件颜色 实例20 窗体的淡入淡出效果 实例21 不规则窗体 实例22 电子钟 实例23 程序启动画面 第4章 QMainWindow 实例24 基本QMainWindow主窗口程序 实例25 打印文本 实例26 打印图像 实例27 图片的缩放与旋转 实例28 在工具栏中嵌入控件 实例29 设置字体、字号等格式属性 实例30 设置文本排序及对齐 第5章 图形与图画 实例31 利用Qpainter绘制各种图形 实例32 利用QPainterPath进行画图 实例33 渐变效果 实例34 QPainter坐标系的变形 实例35 SVG格式图片的显示 实例36 一个简单的绘图工具 实例37 改变图片的透明度 实例38 橡皮筋线 第6章 Graphics View 实例39 地图浏览器 实例40 各种Graphics Item 实例41 Graphics Item的各种变形 实例42 飞舞的蝴蝶 第7章 Model/View 实例43 文件目录浏览器 实例44 利用特定控件进行表项编辑 实例45 自定义Model 实例46 柱状统计图 第8章 网络与通信 实例47 获取本机网络信息 实例48 基于UDP的网络广播程序 实例49 基于TCP的网络聊天室程序 实例50 实现HTTP文件下载 实例51 实现FTP上传和下载 第9章 磁盘文件 实例52 获取文件属性 实例53 文件浏览器 第10章 事件 实例54 获得鼠标事件 实例55 使用键盘控制移动 实例56 事件过滤器 实现动态图片按钮 第11章 其他 实例57 利用QSettings保存程序窗口状态 实例58 利用QDataStream对文件进行存取 实例59 改变鼠标指针形状 实例60 改变窗体显示风格 实例61 拖拽图标 实例62 拖拽文字 实例63 字符串编码格式转换

2013-04-17

Qt遍历本地文件中的所有图片资源

在为数码相框所在文件系统实现U盘自动挂载之后,将U盘自动挂载在开发板上文件系统中的/mnt/usb目录,故还需为数码相框添加遍历/mnt/usb路径下的文件夹内图片文件,暂定为扫描指定目录下一层文件夹内的图片文件。

2013-04-12

Linux命令大全

不同版本的Linux命令数量不一样,这里笔者把它们中比较重要的和使用频率最多的命令,按照它们在系统中的作用分成几个部分介绍给大家,通过这些基础命令的学习我们可以进一步理解Linux系统

2013-04-11

QML学习实例

QML是一种描述语言,主要是对界面效果等的一种描述,它可以结合javaScript来进行更复杂的效果及逻辑实现。比如做个游戏,实现一些更有趣的功能等.

2013-04-11

QML学习资料

QML是一种描述语言,主要是对界面效果等的一种描述,它可以结合javaScript来进行更复杂的效果及逻辑实现。比如做个游戏,实现一些更有趣的功能等.

2013-04-11

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

TA关注的人

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