
VC++
幻灵小龙
永远憧憬在星际间的快乐、自由与梦想,遵循自己的信念,不安于现状,为将世界变得更糟……美好而奋斗。
展开
-
USB设备的插拔事件监测
做USB加密狗时需要监测插拔事件,VC提供了WM_DEVICECHANGE消息,但还需要RegisterDeviceNotification()注册要检测的“Device Interface Class GUID”才能获取到有用信息。设备相关的GUID有 Device Class GUID、Device Interface Class GUID、 Interface GUID。原创 2016-05-26 10:42:07 · 5197 阅读 · 0 评论 -
简单的Log文件示例
用于少量日志的保存情形,以当前日期为文件名保存。每个文件第一次创建时通过二进制方式写入标识头“0xFFFE”来标识Unicode文件,否则会无法显示中文。添加临界区防止多线程访问冲突。原创 2016-05-26 09:39:50 · 1120 阅读 · 0 评论 -
程序崩溃时生成Dump文件
Dump文件是进程的内存镜像,可以把程序运行时的状态完整的保存下来,之后通过调试工具可查出崩溃大致原因。SetUnhandledExceptionFilter()设置一个在程序崩溃时被调用的回调函数。MiniDumpWriteDump()创建Dump文件。我写了一个CDumpFile类,程序崩溃时会生成“文件名_版本号 日期_时间.dmp”文件,在App里创建并调用它的Initialize()函数即可。原创 2016-05-27 10:54:52 · 2060 阅读 · 0 评论 -
面向对象的三个基本特征
面向对象的三个基本特征是:封装、继承、多态。转载 2016-12-05 11:40:26 · 330 阅读 · 0 评论 -
vector,list,deque 性能比较
C++的STL模板库中提供了3种容器类:vector,list,deque对于这三种容器,在觉得好用的同时,经常会让我们困惑应该选择哪一种来实现我们的逻辑。在少量数据操作的程序中随便哪一种用起来感觉差别并不是很大,但是当数据达到一定数量后,会明显感觉性能上有很大差异。本文就试图从介绍,以及性能比较两个方面来讨论这个问题。转载 2016-12-27 14:09:22 · 738 阅读 · 0 评论