03 2015 档案
操作系统的中断和系统调用
摘要:一个简单的中断处理过程是:根据中断号,查找中断表从而执行相应的中断服务例程;在应用程序调用操作系统API时,控制权由应用程序交给了操作系统。用户态向内核态的转换实际上说的是CPU。CPU在用户态时,会限制使用一些指令,比如用户态的CPU不能直接操作硬件,当CPU(应用程序调用API)进入内核态时,C... 阅读全文
posted @ 2015-03-26 20:47 AI产品观察 阅读(590) 评论(0) 推荐(0)
Windows 的GUID
摘要:GUID(全称:Globally Unique Identifier),是一种由算法生成的二进制长度为128位的数字标识符。GUID主要用于在拥有多个节点、多台计算机的网络或系统中。在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID。Windows使用GUID来管理设备,驱动,总线,类... 阅读全文
posted @ 2015-03-20 15:20 AI产品观察 阅读(3422) 评论(0) 推荐(0)
error LNK2019: 无法解析的外部符号
摘要:最近在写与驱动程序通信的Windows应用程序,在VS2013编译时出现了“error LNK2019:无法解析的外部符号”的错误。网上查了一下,搜到很多类似的情况,有很多解决方法,但是有些都行不通。回归错误本身,看到了“LNK”的字样,很有可能是某些库文件没有链接上。再查看自己的程序源代码哪些符号... 阅读全文
posted @ 2015-03-16 19:10 AI产品观察 阅读(1009) 评论(0) 推荐(0)
LARGE_INTEGER类型
摘要:最近在研究Windows驱动程序开发,遇到这样一个语句:devExt->PortBase = (PUCHAR)(ULONG_PTR) portBasePA.QuadPart;在源代码环境中,代表如果不需要地址映射,就把基址直接付给设备的端口基址。查看了QuadPart的定义,portBasePA是一... 阅读全文
posted @ 2015-03-04 19:32 AI产品观察 阅读(1967) 评论(0) 推荐(0)
UNREFERENCED_PARAMETER()的作用
摘要:告诉编译器,已经使用了该变量,不必警告。在VC编译器下,当你声明了一个变量,而没有使用时,编译器就会报警告:“warning C4100: ''XXXX'' : unreferenced formal parameter.”所以,为了让编译器不必检测你的警告,就使用UNREFERENCED_PARA... 阅读全文
posted @ 2015-03-04 14:54 AI产品观察 阅读(1215) 评论(0) 推荐(0)