08 2013 档案
摘要:API的列表如下,网上找的,我觉得还是蛮详细的:磁盘和驱动器管理APIGetLogicalDrivers 获取主机中所有的逻辑驱动器,以BitMap的形式返回.GetLogicalDriverString 获取主机中所有的逻辑驱动器,以驱动器根路径字符串返回.FindFirstVolume 查找主机...
阅读全文
摘要:话说昨天因为校园网的问题导致现在才发博文~唉,想吐槽~这个是昨天写的,觉得,用来回顾还是很不错的,比较具体的都在笔记中,尤其我觉得里面经验性的东西还是不错的。2013-8-26 今天在回顾我以前写的笔记,笔记时间应该是在大二。话说,现在我在实验室一边听着胡彦斌的《葬英雄》一边写着学习笔记~ 看了以往的笔记,感觉,以前的字写的确实不怎么样,现在嘛,嘿嘿,也不怎么样。不过,感觉还是很不一样的。想想当初学习C++的辛苦,在看着现在写出来的程序,觉得自己还是进步了不少的。C++这门语言,应该算是最难学的语言了吧,我觉得汇编是比C++简单些的。 还有一点,对于一门语言是否精通,我觉得有个很简单的标准,简
阅读全文
摘要:重温数据结构——图的遍历 首先,我很想说的是,最近这两天寝室里的蚊子,有点多,有点犀利~每天早上起来都要被叮上几个包,有点苦逼。 另外今天还玩了几把dota2,感觉画面质量是很不错的,但是,手感和dota不一样,而且我的笔记本配置很一般~ 接下来讲今天看的数据结构——图~ 我上个学期在上海泰瑞达的春季招聘中曾被考过这类问题。前面有一题是多态和另外一个名词的解释,有点记不清了。然后还有一道题考的是括号解析,这个很简单的,用栈就能直接处理。然后后面就是连续的两个图的问题。之前好像只是简单的看了看源代码,对于什么是深度优先遍历和广度优先遍历稍微有点认识吧。结果自然是可想而知,比较惨的。当时我在卷子上
阅读全文
摘要:刚才在看百度轻应用,看着看着,渐渐的就理解了为什么出现了脚本程序,以及脚本程序的优点。一个C/C++程序,包含启动码,程序代码,堆栈,数据资源,链接库等。这样的一个程序,小也要10K左右,大的,几百兆甚至上G也很常见。但是,有些特殊的应用,不但变化多,还要及时调整,而且其任务可能很简单。这样的应用,也是程序。但是如果用常规的模式,每个服务传递过来一个可执行应用程序,文件有点大,而且很麻烦。而脚本程序,只要安装了脚本代码的解释器(浏览器),对面发送脚本文件过来,在这面就会快速进行编译,并且调用本地的功能函数,而不必以应用程序函数的形式将其打包过来。其传动代价,仅仅是一个文本罢了。这个思想,和动态
阅读全文
摘要:LANChat工作整理2013/8/22程序实现功能: 局域网聊天软件,启动即可找到在线设备,并能够进行简单的文字聊天。 其实下面这个框图已经说明了程序的绝大部分功能原理。核心类的程序框图我觉得,这个程序中使用的最好的技术,应该就是IOCP了。后面我会针对IOCP好好地写一篇博文,这个技术虽然刚学的时候有点乱,但是确实很好用。 上面的框图中中间的UDPServer线程等待的事件完成是MainServer线程在Listen函数调用结束后设置的事件。这里忘了标了。说明 前几天在实验室看《Windows网络与通信程序设计》这本书,看完了前5章吧,就觉得目前手头的技术去做一个局域网聊天软件应该差不多了
阅读全文
摘要:每次提起快排,内心中都有点隐隐作痛。当时腾讯的那个面试官让我写快排的前两遍排序结果,结果,我当时居然没写上来……这个,就是所谓的关键时刻掉链子吧,这么经典的快排都不会,真是丢死人了……今天在实验室的时候我第三次不借助任何资料,根据快排思想,写出了快排的程序~先看看我第二次的那篇文章,第一次完成的已经不知道被我丢哪里去了~ 1 void qsort(int * array, int length) 2 { 3 if(length = KeyWord && j > i)11 -- j;12 swap(array[j], array[i]);13 ...
阅读全文
摘要:还是在重温C++,看到extern的意思,觉得很有必要记下来。extern是用来干什么的大家想必都是很明白的。如果有个全局变量,或者其他文件的全局变量,要在本文件或函数中使用,可以通过extern来声明一个一模一样的本地变量来使用这个全局变量。说的有点够绕嘴的。书上直接给出了其意思,非常准确,太有必要记下来了,以前都没注意。其意思是这样的:“通过以前被外部定义的名称使用该变量”太经典了~
阅读全文
摘要:这个问题是C++模板中的一个特性,像这个修改便可编译通过:template inline const typename Queue::QueuePoint1 & Queue::QueuePoint1::operator = (const Queue::QueueItem*p)解释一下就是,“依赖受限名称不能作为类型使用,除非在前面加上 typename关键字”。依赖名称:含有模板类型参数受限名称:含有“::”符号你的这个 Queue::QueuePoint1 就是个典型,必须加typename关键字,编译器才能识别的。
阅读全文
摘要:今晚闲来无事,写篇博文聊解解闷~CEdit这个空间类,我之前倒是用过,不过那个时候用的还比较菜,现在么,依旧比较菜~首先,因为我今天刚做完了一个局域网聊天软件,用的就是CEdit来显示和获取数据的。最近实验室没网了,所以我在寝室的时候上网随手粘了几篇文章到U盘后就直奔实验室了。没网还去实验室,是因为在实验的局域网能让我联机调试,我室友用电脑看考研辅导视频。说了好多废话~1 获取CEdit对象中的数据:设对象为m_RecvEdit。先使用其成员函数GetLineCount,获取到对话框中文本的行数。然后做一个for循环,在其中使用其成员函数GetLine获取对应行中的文本。文本框中的数据存储可以
阅读全文
摘要:今天因为需要把一个winsock代码封装到C++类中,但是在过程中,遇到了不少问题,都是我以前知道的,但是忘了的。今天专门好好地写一篇博文,免得以后忘了还要百度。首先我原来的程序主动创建了3个线程,算上main,一共是4个线程。封装为C++类后,因为不能因创建的对象而阻塞原程序,所以在需要创建一个替代main的主线程。这样就是4个线程了,其中2个线程用的是同一个函数。而且这四个线程我只想让我的对象用,对外部应该是不可见的,所以,要封装到类里面。我前面的一篇博文也说了,类中的函数若想成为线程函数,则必须为静态成员函数。原因就是静态成员函数没有this指针。这样,类中就要有3个静态成员函数了。C+
阅读全文
摘要:刚才在看平板电脑以及联想的yoga笔记本,发现pad,还是苹果的好,基本没看到什么系统易崩溃的差评总体都是很不错的。而国产平板如台电,aigo,昂达等都存在开机以及系统稳定性问题。又接着看了yoga笔记本,感觉,也就一般,有几个评价说散热不好,运行有点慢。我觉得,一个令人满意的电子产品,以及软件,只要能做到以下两点就很不错了:1 稳定2 响应快其他什么花里胡哨的,真的没什么用。
阅读全文
摘要:五子棋工作文档1说明: 这个程序在创建初期的时候是有一个写的比较乱的文档的,但是很可惜回学校的时候没有带回来……所以现在赶紧整理一下,不然再过一段时间就忘干净了。 最初这个程序是受老同学所托做的,一开始的时候要求要人人对战和人机对战,但是大家都很明白,所谓的人人对战就是简单那的GDI绘图罢了,那些基础函数用好了自然没问题。而人机对战则需要一定的棋盘分析能力,做起来还是很复杂的。当时受时间限制,第一个版本是我用了两天时间做的一个人人对战,直接就给她发过去了,用来应付她的实习,因为我当时也不确定人机对战能不能做出来。不过之后我一直在做,毕竟之前没做过,算是一次尝试。之后貌似过了9天吧,才完成了核心
阅读全文
摘要:这个最初是在microsoft的《编程之美》中看到的,用你的程序来控制CPU的使用率。首先是要求写一个用来实现CPU使用率为50%程序。这个还是很好实现的,只要让你的程序忙的时间课空闲时间对半就可以了。这里主要要用到两个函数:GetTickCount以及Sleep。GetTickCount函数据我所知在2000版的msdn中是查不到的,不过功能很简单,就是返回系统启动到现在所经历的毫秒数。有了这个函数,就能够较为准确的获得一个程序运行时间,来控制程序的睡眠时间。这个是实际效果图:这个图片的效果就比较惨了,这个程序是我用来画CPU正弦曲线,看这个图片依稀能看出来点正弦的意思……在家里的计算机画的
阅读全文