摘要:     MFC做USB HID上位机程序,背景不表,直接开始。   建立个Project; 执行Visual C++ Project|Settings,打开Link选项卡,在Category中选择Input,在Object/library modules中输入hid.lib setupapi.lib; 在应用程序一个文档内引用头文件,如: extern "C" { // Declare the ... 阅读全文
posted @ 2011-01-19 17:31 yangzd 阅读(6122) 评论(2) 推荐(1) 编辑
摘要: 第3章 线性表的链式存储   3.1链式存储     数据结构的存储方式必须体现它的逻辑关系 。在链式存储方式下,实现中除存放一个结点的信息外,还需附设指针,用指针体现结点之间的逻辑关系。如果一个结点有多个后继或多个前驱,那么可以附设相应个数的指针,一个结点附设的指针指向的是这个结点的某个前驱或后继。   3.2单链表     结点一般含有两个域,一个是存放数据信息的info域,另一个是指... 阅读全文
posted @ 2011-01-18 17:49 yangzd 阅读(382) 评论(1) 推荐(1) 编辑
摘要: 第1章 概论 数据结构讨论的是数据的逻辑结构、存储方式以及相关操作的实现等问题。本章讲述数据结构的基本概念及相关术语,介绍数据结构、数据类型和抽象数据类型之间的联系,介绍了算法的特点及算法的时间与空间复杂性。 1.1数据结构 1.1.1数据结构 随着计算机软、硬件的发展,计算机的应用范围在不断扩大,计算机所处理的数据的数量也在不断扩大,计算机所处理的数据已不再是单纯的数值数据,而更多的是非数值数据。 需要处理的数据并不是杂乱无章的,它们一定有内在的联系,只有弄清楚它们之间的本质的联系,才能使用计算机对大量的数据进行有效的处理。 使用计算机处理用户信息表中的数据时,必须弄清楚下面3个问题 阅读全文
posted @ 2011-01-18 11:17 yangzd 阅读(781) 评论(0) 推荐(1) 编辑
摘要:   阻塞与非阻塞访问是I/O操作的两种不同模式,前者在I/O操作暂时不可进行时会让进程睡眠。   在设备驱动中阻塞I/O一般基于等待队列来实现,等待队列可用于同步驱动中事件发生的先后顺序。   使用非阻塞I/O的应用程序也可借助轮询函数来查询设备是否能立即被访问。     阻塞操作是指在设备操作时若不能获得资源则挂起进程,直到满足可操作的条... 阅读全文
posted @ 2010-10-18 02:08 yangzd 阅读(1638) 评论(0) 推荐(1) 编辑
摘要: 并发(concurrency)指的是多个执行单元同时、并行被执行。而并发的执行单元对共享资源(硬件资源和软件上的全局、静态变量)的访问则容易导致竞态(race conditions)。 SMP是一种紧耦合、共享存储的系统模型,它的特点是多个CPU使用共同的系统总线,因此可访问共同的外设和存储器。 进程与抢占它的进程访问共享资源的情况类似于SMP的多个CPU. 中断可打断正在执行的进程,若中断... 阅读全文
posted @ 2010-10-16 11:54 yangzd 阅读(3435) 评论(0) 推荐(0) 编辑
摘要: Linux2.6内核中使用cdev结构体描述字符设备: structcdev{ structkobjectkobj;//内嵌的kobject对象,描述设备引用计数 structmodule*owner;//所属模块,一般赋值为THIS_MODULE structfile_operations*ops;//文件操作结构体 structlist_headlist; dev_tdev;//设备号 uns... 阅读全文
posted @ 2010-10-14 21:56 yangzd 阅读(1357) 评论(0) 推荐(0) 编辑
摘要: 3 进程管理 进程是处于执行期的程序以及它所包含的资源的总称。线程是在一个进程中活动的对象。内核调度的对象是线程。 进程提供两种虚拟机制:虚拟处理器和虚拟内存。 fork() –> exec*() –> exit() fork()创建新进程(由clone()系统调用实现);接着调用exec*()创建新的地址空间,并把新的程序载入;最后exit()系统调用退出执行(终结进程释放资源)。 父... 阅读全文
posted @ 2010-10-05 17:20 yangzd 阅读(307) 评论(0) 推荐(1) 编辑
摘要: 2 Getting Started with the Kernel 2.1 2.2 The Kernel Source Tree Directory Description arch Archi... 阅读全文
posted @ 2010-10-04 15:15 yangzd 阅读(253) 评论(0) 推荐(1) 编辑
摘要: 1 Linux内核简介 1.1 1.2 操作系统和内核简介 操作系统是指在整个系统中负责完成最基本功能和系统管理的部分。这些部分应该包括内核、设备驱动程序、启动引导程序、命令行shell或者其他种类的用户界面、基本的文件管理工具和系统工具。 内核是操作系统的内在核心。由中断服务程序,调度程序,内存管理,网络,进程间通信等系统服务组成。 ... 阅读全文
posted @ 2010-10-04 13:56 yangzd 阅读(251) 评论(0) 推荐(1) 编辑
摘要: The gcc C compiler has a built-in directive that optimizes conditional branches as either very likely taken or very unlikely taken. The compiler uses the directive to appropriately optimize the branch... 阅读全文
posted @ 2010-09-27 23:37 yangzd 阅读(2686) 评论(1) 推荐(2) 编辑