- 博客(121)
- 资源 (23)
- 收藏
- 关注
原创 多叉树构建, 遍历(层次优先,深度优先),应用
项目上遇到了一个典型的多叉树应用案例, 记录一下。 (1) //结构typedef struct st_OriTree{ int levelValue; //树的level int orderValue; //排序值 QString nameValue; //当前节点名称 QString preNameValue; //前置节点名称 QM
2017-11-03 17:50:18
5009
转载 各种Hash函数和代码
常用的字符串Hash函数还有ELFHash,APHash等等,都是十分简单有效的方法。这些函数使用位运算使得每一个字符都对最后的函数值产生影响。另外还有以MD5和SHA1为代表的杂凑函数,这些函数几乎不可能找到碰撞。常用字符串哈希函数有BKDRHash,APHash,DJBHash,JSHash,RSHash,SDBMHash,PJWHash,ELFHash等等。对于以上几种哈希函数,我对其进行了一
2017-03-12 15:46:48
1515
转载 各种hash 函数实现
常用的字符串Hash函数还有ELFHash,APHash等等,都是十分简单有效的方法。这些函数使用位运算使得每一个字符都对最后的函数值产生影响。另外还有以MD5和SHA1为代表的杂凑函数,这些函数几乎不可能找到碰撞。常用字符串哈希函数有BKDRHash,APHash,DJBHash,JSHash,RSHash,SDBMHash,PJWHash,ELFHash等等。对于以上几种哈希函数,我对
2017-03-12 15:43:51
1182
转载 宏与内联函数 深度解析
用内联取代宏:1.内联函数在运行时可调试,而宏定义不可以;2.编译器会对内联函数的参数类型做安全检查或自动类型转换(同普通函数),而宏定义则不会; 3.内联函数可以访问类的成员变量,宏定义则不能; 4.在类中声明同时定义的成员函数,自动转化为内联函数。文章(一)内联函数与宏定义 在C中,常用预处理语句#define来代替一个函数定义。例如:
2016-12-27 15:49:04
468
转载 安卓-系统功能跳转
1. ACTION_ACCESSIBILITY_SETTINGS : // 跳转系统的辅助功能界面 Intent intent = newIntent(Settings.ACTION_ACCESSIBILITY_SETTINGS); startActivity(intent); 2. ACTION_ADD_AC
2016-09-11 19:48:30
467
原创 USB 设备热插拔的检测
系统检测USB 设备往往分为两个过程:1. USB 设备已经插入, 打开软件。 此时需要枚举当前设备列表中所有的设备,并过滤指定的USB 设备。2. 打开软件后, USB 热插拔 。 此时用WM_DEVICECHANGE 消息去获取设备信息。 当设备插入或者移除时,系统给当前主窗口发送WM_DEVICECHANGE 消息 。 注意: 默认状态, 任何设备都会通知。 所以需要注册指定
2016-08-28 09:58:58
11097
1
原创 VS2013 Codejock 实现 MFC 换肤
之前一直在用Skin++ , 但是越来越发现占用资源太多, 导致程序效率很低 。 最主要是版本更新太慢 。所以花了几个小时研究了一下 codejock .1, 版本 : codejock 目前国内破解版last version 就是 15.3.1 . 这个版本只支持到 VS2010 ,最主要是组件支持的不是很多. 官方现在已经是17.2 了, 支持 win10, VS2015 等 ,还
2016-07-24 16:58:52
6140
转载 贪心算法
一、基本概念:所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略必须具备无后效性,即某个状态以后的过程不会影响以前的状态,只与当前状态有关。所以对所采用的贪心策
2016-04-22 15:03:02
589
转载 Android 系统开机logo的修改
看到了好几个修改logo的博文,但是说的不是很清楚,在这里亲手送上通过自己的动手修改过验证后的方法。 Android 开机其实总共会出现3个画面:1、第一个就是 linux 系统启动,出现Linux小企鹅画面(reboot);2、当android系统从Linux内核启动后,将会执行anddroid平台的初始化过程,屏幕上将会出现”A N D R I O D”文字字样画面(
2016-03-31 15:16:28
11704
转载 foreach适合在什么情况下使用+foreach的内部原理剖析
先看下面这段代码;foreach是可以遍历的。没有问题!1 ArrayList arrList1 = new ArrayList() { 20, 3, 49, 39, 48 };2 foreach (var item in arrList1)3 {4 Console.WriteLine(item);5
2016-02-01 14:30:29
2588
转载 返回键与moveTaskToBack的使用
publicclassTestActivityextends Activity { //... // Working for all API levels @Override publicbooleanonKeyDown(intkeyCode, KeyEvent event) { if(keyCode == KeyEve
2015-12-07 15:43:22
2091
转载 Android实现不重复启动APP的方法
类似QQ、微信这样的APP,一般都不会打开两个实例。比如:打开QQ客户端,进入到好友聊天界面,然后按HOME返回桌面这时候有两种情况:1、如果你在最近任务中切换会QQ客户端,那么还是显示好友聊天界面2、如果点击QQ客户端图标打开,依然显示好友聊天界面 默认情况下是不可能实现上面的功能的。但是,使用andr
2015-12-07 15:36:45
2591
转载 Win 8 安卓环境搭建
1.下载JDK,http://www.oracle.com/technetwork/java/javase/downloads/index.html,选择版本 2.安装刚刚下载的JDK3.环境变量配置, 新建JAVA_HOME系统变量:C:\Program Files\Java\jdk1.7.0_65(JDK安装目录)新建CLASS_PATH系统变量: .;%JAVA_HOME%\lib;%JA
2015-09-02 15:22:42
524
转载 webrtc--AudioProcessing-- 音频降噪的处理过程
1.AudioProcessing的实例化和配置: AudioProcessing* apm = AudioProcessing::Create(0);apm->level_estimator()->Enable(true);//启用重试次数估计组件apm->echo_cancellation()->Enable(true);//启用回声消除组件apm->echo_cancellation()
2015-09-02 15:14:28
11149
原创 About Fast Lock in the WCE kernel
What’s the Fast Lock ? The Fast Lock is a read/write lock in the WinCE kernel.Structure:struct _FAST_LOCK { PFAST_LOCK pPrevOwned; // Previous node in 2-D
2015-05-12 15:44:15
793
转载 MFC总结之CListCtrl用法及技巧(二)
续第一篇:MFC总结之CListCtrl用法及技巧(一) http://blog.youkuaiyun.com/zwgdft/article/details/7560592 本篇重点介绍:禁止拖动表头、让第一列居中显示、设置行高与字体、虚拟列表技术、点击表头时进行归类、向上与向下移动、动态调整大小问题、避免闪烁问题。 6、禁止拖动表头
2015-05-10 14:02:51
991
转载 MFC总结之CListCtrl用法及技巧(一)
本文根据本人在项目中的应用,来谈谈CListCtrl的部分用法及技巧。当初学习时,查了很多资料,零零碎碎的作了些记录,现在主要是来做个总结,方便以后查阅。主要包括以下十三点内容:基本操作、获取选中行的行号、复选框操作、动态设置选中行的字体颜色、设置选中行的背景颜色、禁止拖动表头、让第一列居中显示、设置行高与字体、虚拟列表技术、点击表头时进行归类、向上与向下移动、动态调整大小问题、避免闪烁问
2015-05-10 14:01:29
1387
原创 WCE Kernel Thread Schedule Source Code
//// Copyright (c) Microsoft Corporation. All rights reserved.////// Use of this source code is subject to the terms of the Microsoft shared// source or premium shared source license agreem
2015-03-09 17:20:59
1299
转载 WinCE线程调度
WinCE使用抢占式的基于优先级的时间片轮转调度算法调度线程。对于就绪队列中的线程,优先级高的先获得时间片运行,优先级相同时按时间片轮转,正在运行的线程用完时间片后无论是否执行完毕都得让出CPU退回就绪队列等待下一次时间片分配。WinCE优先级分256级(0~255)其中应用程序可使用248~255,其它的供驱动及内核使用。WinCE线程状态转换图WinCE
2015-03-09 17:18:25
1256
原创 sd integrate
流程:1. 目标branch 创建空changelist. sd change2. 目标client操作 sd integrate -i -c CL# 原branch文件 目标branch文件. sd integrate -i -c CL# 原branch根目录 ...@CL,CL 目标branch. sd integrate -i -c
2015-02-11 17:48:52
781
转载 MFC管理员权限(UAC下的程序权限提升)
文章来源:KingsamChen的博客 感谢KingsamChen博主对《UAC提升权限》(也就是MFC等程序获取管理员权限)的总结!很优秀,谢谢!UAC是微软为了提高Windows的安全性,自Windows Vista开始引入的新安全机制。传统的NT内核系统依靠access token来做权限处理,access token由当前用户所在的用户组的权限决定。而由于长期以来的不当使用
2015-02-11 15:49:21
4097
转载 将sqlite3编译成给WINCE使用的DLL,并封装成C++的步骤(使用VS2005)
利用VS2005编译SQLite3.5.1 1, 到http://sourceforge.net/projects/sqlite-wince/files/下载 sqlite-wince-3.x下面的sqlite-wince-3.3.5 2. 创建一个Win32 Smart Device Project,项目名字为sqlite3,Application Type选择DLL,创
2014-10-24 16:21:46
759
转载 WCE or Mobile sqlite 配置使用
在WinCE,Mobile上,对SQLite的开发,目前还是以.net compact framework的封装居多.在 http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers 可找到各种语言对 SQLite 的封装.下面将介绍如何在EVC下使用SQLite.1> 开发工具: EVC4.0 + SP22>
2014-10-24 15:10:36
774
原创 App and driver 电源管理器注册
电源注册过程:1、DevicePowerNotify Sends a request to the Power Manager about changing a power stateof a peripheral device.2、RequestPowerNotifications (注册电源管理器) Registers a m
2014-08-12 15:50:15
1205
转载 IClass与电源管理(主菜)
IClass与电源管理一.PM中的相关内容说明1.结构体DEVICE_LIST首先看一下结构体DEVICE_LIST的定义:// this structure describes a set of power manageable devicestypedefstruct _DeviceList_tag { LPCGUID p
2014-08-11 15:22:10
1044
转载 WCE 电源管理器(开胃菜)
研究了将近一个月的 NDIS、RDIS以及电源管理器,分析了无数的源代码。赶快记一下,不然弄完其他模块,这部分又忘了。电源管理器的简单介绍网友已经写得很清楚了,感谢各位同仁。补存
2014-08-11 15:14:31
1490
转载 转一个吧!这个我也吃过亏!
strcpy_s是strcpy的安全版本,它之所以安全,是因为其在拷贝字符串的时候会有越界的检查工作。以下是strcpy_s的实现代码,在tcscpy_s.inl文件可以找到:?12345678910111213141516171819202122232425
2014-08-01 18:32:55
741
转载 网友转发的很全的 LISTCTL 控件使用的说明
作者:lixiaosan时间:04/06/2006以下未经说明,listctrl默认view 风格为report相关类及处理函数MFC:CListCtrl类SDK:以 “ListView_”开头的一些宏。如 ListView_InsertColumn1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标 LV
2014-07-27 16:44:23
2182
转载 Unicode字符集下CString与char *转换 (解决中文乱码等)(转)
Unicode字符集下CString与char *转换 (解决中文乱码等)(转)(2012-03-29 09:05:47)转载▼标签:杂谈分类: vc (MFC)UniCode 下 CString 转 char* 的方法的文章有很多,但是大部分都是在互相转载,看了那么多资料,仍然没有解决乱码的问题,后来从一
2014-07-18 23:30:43
837
转载 Windows Embedded CE 6.0 Internals (5) The Mechanism of API
引言一般的,我们在编写用户态程序(包括普通的应用程序、服务程序、用户态驱动、一些扩展插件)时,每当我们遇到一个不熟悉的API,我们就会打开开发文档,或者MSDN,查查每个参数是怎么填的。(我想你应该没把这些API给背下来了吧^^)我们在调试时发现执行到这些API时是跟不进去的,那么你想过它们是如何进入操作系统里面工作的吗?它们又是如何在操作系统里面工作的?比如文
2014-07-07 14:03:30
580
转载 Windows Embedded CE 6.0 Internals (4) The Mechanism of API
引言在调用系统提供的(System call)或者自己实现的DLL文件(有导出函数)中的API时,我很好奇其中的机制,也就是:我们为什么能调用这些API? 另外,安全和效率总是矛盾的,那么CE如何保证这两者? 现在的CE是不是不堪一击,用户态进程无意的操作是否就能让系统Crash,或者几行Shellcode就能瓦解它的安全体系?这个问题让我想起来前几天看到的新闻,关于Win
2014-07-07 14:00:36
746
转载 Windows Embedded CE 6.0 Internals (3) Memory Continued
对我来说写一篇博客真的不容易,我是个十足的完美主义者,但是水平很一般,所以我会花上很多时间去修补文章。也许文章并不能让你满意,如果你有任何的建议,任何的,我都非常期待你能告诉我。这篇文章仍然是继续Windows Embedded CE Internals (2)内存部分。 从硬件视角看内存从硬件上看,可作为内存的大体分为RAM、ROM、Nand/Nor Flash(兼具RAM和
2014-07-07 12:03:22
1150
转载 Windows Embedded CE 6.0 Internals (2) Memory
作者: 王克伟出处: http://wangkewei.cnblogs.com/这篇文章是继文章Windows Embedded CE 6.0 Internals (1)的。内存这块一直是让人头痛的东西,因为比较复杂,但是我们却需要经常与其打交道——内存泄漏、异常定位、程序优化等等。这篇文章以及后续的文章我试着能够刨根问底。5.内存构架内存的种类1.Rand
2014-07-07 11:23:50
737
转载 Windows Embedded CE 6.0 Internals (1) Kernel Overview
最近在学习Windows Embedd CE 6.0和Windows桌面系统内部一些知识,这篇文章是对部分内核知识的整理和总结,跟各位博客园的朋友分享。Windows Embedded CE 6.0是非常优秀的嵌入式系统(不是做广告哦^^),对其内核的学习对我们开发、移植驱动和应用程序,对开发、移植嵌入式系统都非常有好处。最好的学习方式就是看源码啦,直接看源码有点困难,所以这篇文章
2014-07-07 10:58:30
818
转载 细化 TLS原理及分类
本文为线程本地存储TLS系列之分类和原理。一、TLS简述和分类我们知道在一个进程中,所有线程是共享同一个地址空间的。所以,如果一个变量是全局的或者是静态的,那么所有线程访问的是同一份,如果某一个线程对其进行了修改,也就会影响到其他所有的线程。不过我们可能并不希望这样,所以更多的推荐用基于堆栈的自动变量或函数参数来访问数据,因为基于堆栈的变量总是和特定的线程相联系的。不过如果某些
2014-06-20 09:59:23
2039
转载 Thread Local Storage
Instance(单件)机制原本是让代码执行时只有一个实例,但有的时候又希望每个线程各自能有自己的"单件"相互不影响,处理类似的需求最先想到的就是全局表,然后按线程id或是管理线程的key索引到对应的单件上,取全局表的时候需要加锁。 虽然这样也能实现目的,但是代码看上去很不自然。最近发现还是有更自然的方法能实现这一点,就是 TLS 线程本地存储(Thread Local Storage
2014-06-19 17:50:47
796
原创 理解Windows内核模式与用户模式
1、基础运行 Windows 的计算机中的处理器有两个不同模式:“用户模式”和“内核模式”。根据处理器上运行的代码的类型,处理器在两个模式之间切换。应用程序在用户模式下运行,核心操作系统组件在内核模式下运行。多个驱动程序在内核模式下运行,但某些驱动程序在用户模式下运行。当启动用户模式的应用程序时,Windows 会为该应用程序创建“进程”。进程为应用程序提供专用的“虚拟地址空间
2014-06-19 17:19:45
19804
原创 有关windows Gateway Ipsec 和NAT 兼容性问题
1、简单通信拓扑: 将Windows 平台 作为一个网关,同时开启IPsec 和NAT来支持private和public的通信。注意:IPSEC Gateway 和 Client1 Ipsec 之间没有存在NAT ,否则是另外一种情况,和本文描述无关。本文只是工作笔记,不代表任何官方声明。2、现象描述: a. Enable NAT,but Disbale
2014-06-19 11:22:15
1664
Centos6 yum国内源.zip
2021-12-23
codejock Demo
2016-07-24
netlogctl WINCE 抓包
2014-07-01
MFC MDI和SDI非客户区框架界面美化之----界面全面美化
2014-02-12
MFC MDI和SDI非客户区框架界面美化之----标题栏以及边框美化
2014-02-12
GDI+ 数字图像处理 优秀作品 非常经典
2013-12-24
Visual C++ 打印编程技术与工程实践 光盘源码
2012-03-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人