进程切换发生在内核态模式,由于进程从用户态陷入内核态时已经将用户 进程用到通用寄存器的值,用户态的一些特殊寄存器cs,eip,ss,esp等保存在进程的内核堆栈之中,因此在内核态进行进程切换的主要工作是完成内核 堆栈的切换和相关硬件上下文的切换。
从VC6之后VC系列就使用解决方案(Solution)来替代原来的工作空间,用于组织和管理多个相关的项目(Project)。
一个中等规模的解决方案通常都会包含多个项目,其中一些项目产出静态库,一些产出动态库,一些用于单元测试,还有的产出最终的应用程序执行档。除此以外,根据项目的需求,还会使用一些第三方的库,所以为解决方案设置一个合理的目录结构。
linux内核通过定义list_head以及对于list_head上的一组操作实现对不同类型的循环链表的同类操作,这种做法避免了对于不同数据类型的循环链表定义重复的操作函数,使代码得到了充分的使用,是一种十分有效的编程方法。
本文给出了一种检测硬币的快速算法。检测算法分为四个阶段:首先使用hough变换找出图片中的圆,然后利用基于像素颜色的贝叶斯分类算法检测出 5 角硬币,再利用 Kmeans 分类算法对圆的半径进行分类,识别出 1 圆硬币和 1 角硬币,最后,利用 SURF 算子检测出硬币的正反面。本文给出的算法检测快速,并且能够检测出重叠的硬币。