摘要: 记得我的笔记本上曾经安装了一款名为内存整理大师的软件,当时觉得挺好用而且挺NB的,就是导致开机启动有点慢。当时我就在想,内存整理是怎么实现的?不过那是水平实在是不怎么样,估计连windows程序的消息概念都不清楚吧。所以虽然不明白原因,但是觉得,很NB。今天看到网上有关于EmptyWorkingSet函数的介绍,然后就看了下。看那几个函数的调用,不是很明白,所以直接去MSDN查看函数原型以及介绍。看明白了那两个函数,就突然觉得,实现内存整理太简单了……首先摆出来几个API函数,分别是:EnumProcesshttp://msdn.microsoft.com/en-us/library/wind 阅读全文
posted @ 2013-09-08 13:07 Matrix_R 阅读(3513) 评论(2) 推荐(2) 编辑
摘要: 这里的进程状态信息函数主要分为两类,一类是PS(PROCESS STATUS HELPER) API,另外一类是Th(TOOL HELP) API。话说第一次遇到这个ToolHelp函数时我在看《windows核心编程》时遇到的。那时还仅仅是简单的看了一下,并未深入。Ps API 函数列表及其功能说明:MSDN地址连接:http://msdn.microsoft.com/en-us/library/windows/desktop/ms684894(v=vs.85).aspx使用Ps API需要包含Psapi.h文件以及Psapi.libEmptyWorkingSet 从执行的工作集中尽可能的多 阅读全文
posted @ 2013-09-07 17:28 Matrix_R 阅读(10932) 评论(0) 推荐(1) 编辑
摘要: API的列表如下,网上找的,我觉得还是蛮详细的:磁盘和驱动器管理APIGetLogicalDrivers 获取主机中所有的逻辑驱动器,以BitMap的形式返回.GetLogicalDriverString 获取主机中所有的逻辑驱动器,以驱动器根路径字符串返回.FindFirstVolume 查找主机... 阅读全文
posted @ 2013-08-29 12:30 Matrix_R 阅读(12535) 评论(3) 推荐(1) 编辑
摘要: 话说昨天因为校园网的问题导致现在才发博文~唉,想吐槽~这个是昨天写的,觉得,用来回顾还是很不错的,比较具体的都在笔记中,尤其我觉得里面经验性的东西还是不错的。2013-8-26 今天在回顾我以前写的笔记,笔记时间应该是在大二。话说,现在我在实验室一边听着胡彦斌的《葬英雄》一边写着学习笔记~ 看了以往的笔记,感觉,以前的字写的确实不怎么样,现在嘛,嘿嘿,也不怎么样。不过,感觉还是很不一样的。想想当初学习C++的辛苦,在看着现在写出来的程序,觉得自己还是进步了不少的。C++这门语言,应该算是最难学的语言了吧,我觉得汇编是比C++简单些的。 还有一点,对于一门语言是否精通,我觉得有个很简单的标准,简 阅读全文
posted @ 2013-08-27 11:12 Matrix_R 阅读(1137) 评论(0) 推荐(0) 编辑
摘要: 重温数据结构——图的遍历 首先,我很想说的是,最近这两天寝室里的蚊子,有点多,有点犀利~每天早上起来都要被叮上几个包,有点苦逼。 另外今天还玩了几把dota2,感觉画面质量是很不错的,但是,手感和dota不一样,而且我的笔记本配置很一般~ 接下来讲今天看的数据结构——图~ 我上个学期在上海泰瑞达的春季招聘中曾被考过这类问题。前面有一题是多态和另外一个名词的解释,有点记不清了。然后还有一道题考的是括号解析,这个很简单的,用栈就能直接处理。然后后面就是连续的两个图的问题。之前好像只是简单的看了看源代码,对于什么是深度优先遍历和广度优先遍历稍微有点认识吧。结果自然是可想而知,比较惨的。当时我在卷子上 阅读全文
posted @ 2013-08-24 20:00 Matrix_R 阅读(3568) 评论(2) 推荐(2) 编辑
摘要: 刚才在看百度轻应用,看着看着,渐渐的就理解了为什么出现了脚本程序,以及脚本程序的优点。一个C/C++程序,包含启动码,程序代码,堆栈,数据资源,链接库等。这样的一个程序,小也要10K左右,大的,几百兆甚至上G也很常见。但是,有些特殊的应用,不但变化多,还要及时调整,而且其任务可能很简单。这样的应用,也是程序。但是如果用常规的模式,每个服务传递过来一个可执行应用程序,文件有点大,而且很麻烦。而脚本程序,只要安装了脚本代码的解释器(浏览器),对面发送脚本文件过来,在这面就会快速进行编译,并且调用本地的功能函数,而不必以应用程序函数的形式将其打包过来。其传动代价,仅仅是一个文本罢了。这个思想,和动态 阅读全文
posted @ 2013-08-23 00:01 Matrix_R 阅读(2861) 评论(15) 推荐(1) 编辑
摘要: LANChat工作整理2013/8/22程序实现功能: 局域网聊天软件,启动即可找到在线设备,并能够进行简单的文字聊天。 其实下面这个框图已经说明了程序的绝大部分功能原理。核心类的程序框图我觉得,这个程序中使用的最好的技术,应该就是IOCP了。后面我会针对IOCP好好地写一篇博文,这个技术虽然刚学的时候有点乱,但是确实很好用。 上面的框图中中间的UDPServer线程等待的事件完成是MainServer线程在Listen函数调用结束后设置的事件。这里忘了标了。说明 前几天在实验室看《Windows网络与通信程序设计》这本书,看完了前5章吧,就觉得目前手头的技术去做一个局域网聊天软件应该差不多了 阅读全文
posted @ 2013-08-22 16:05 Matrix_R 阅读(5794) 评论(8) 推荐(4) 编辑
摘要: 每次提起快排,内心中都有点隐隐作痛。当时腾讯的那个面试官让我写快排的前两遍排序结果,结果,我当时居然没写上来……这个,就是所谓的关键时刻掉链子吧,这么经典的快排都不会,真是丢死人了……今天在实验室的时候我第三次不借助任何资料,根据快排思想,写出了快排的程序~先看看我第二次的那篇文章,第一次完成的已经不知道被我丢哪里去了~ 1 void qsort(int * array, int length) 2 { 3 if(length = KeyWord && j > i)11 -- j;12 swap(array[j], array[i]);13 ... 阅读全文
posted @ 2013-08-21 22:26 Matrix_R 阅读(1014) 评论(0) 推荐(0) 编辑
摘要: 还是在重温C++,看到extern的意思,觉得很有必要记下来。extern是用来干什么的大家想必都是很明白的。如果有个全局变量,或者其他文件的全局变量,要在本文件或函数中使用,可以通过extern来声明一个一模一样的本地变量来使用这个全局变量。说的有点够绕嘴的。书上直接给出了其意思,非常准确,太有必要记下来了,以前都没注意。其意思是这样的:“通过以前被外部定义的名称使用该变量”太经典了~ 阅读全文
posted @ 2013-08-20 23:37 Matrix_R 阅读(494) 评论(1) 推荐(0) 编辑
摘要: 这个问题是C++模板中的一个特性,像这个修改便可编译通过:template inline const typename Queue::QueuePoint1 & Queue::QueuePoint1::operator = (const Queue::QueueItem*p)解释一下就是,“依赖受限名称不能作为类型使用,除非在前面加上 typename关键字”。依赖名称:含有模板类型参数受限名称:含有“::”符号你的这个 Queue::QueuePoint1 就是个典型,必须加typename关键字,编译器才能识别的。 阅读全文
posted @ 2013-08-20 17:44 Matrix_R 阅读(294) 评论(0) 推荐(0) 编辑