摘要:
函数原型如下:PTP_IO WINAPI CreateThreadpoolIo( _In_ HANDLE fl, _In_ PTP_WIN32_IO_CALLBACK pfnio, _Inout_opt_ PVOID pv, _In_opt_ PTP_CALLBACK_ENVIRON pcbe);第一个参数表示要绑定到线程池内部IO完成端口的设备;有两点要注意。第一点 还记得创建完成端口的函数么,它有两个功能,一是创建一个新的完成端口,二是将一个设备绑定到一个完成端口上面,而此函数并没有完成第二个功能,即,它并没有将第一个参数(即设备句柄)绑定... 阅读全文
摘要:
2013年就这样过去了,浑浑噩噩,这一年完全的被自己给荒废了年初的时候,从刚定下来的一家游戏公司提出离职,主要原因是要跟在一位熟人后面做事,刚从学校出来的时候就是跟在他后面做事,两年时间,后来,苏州这里的公司关了,他去了别的城市我还是留在了苏州,骨子里的惰性让我不愿意到陌生的城市,又过了两年,他又回苏州了,打算再组建新的公司,与我联系了之后,我没多加考虑,就把当下的工作给辞去了;当时也有朋友建议我再观望一段时间再说,毕竟我现在所在的公司以及工作与待遇都相当的不错,当时没加理会,我就是这样,脑子一热,心一横,决计不考虑后果的;当然了,我现在依然没有后悔当初的选择,因为我对当时的那份工作已经产生了 阅读全文
摘要:
今天接触sublime这个编辑器,一下子就喜欢上它了,以前我一直使用NOTEPAD++,果断换上sublime玩玩,呵呵编辑功能啥的没话,作为前端开发的话,和emmet(原名叫Zen Coding)一起使用,强大的一腿!在网上看了很多的关于这两个东东的配置,这里记录一下我的配置过程,便于日后再要配置的时候有个参考下载一个sublime,下载地址是http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.2%20Setup.exe安装好之后,下载emmet安装包,下载地址:https://sublime.wbond.net/Package%2 阅读全文
摘要:
服务器端:windows 2003 + subversion下载地址:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=11151&expandFolder=11151&folderID=91安装按照提示一直点下一步!安装完subversion之后,使用\Subversion\bin\svnadmin.exe工具创建一个版本库,客户端的文档和代码都可以放在这个版本库中创建方法:命令行定位到svnadmin.exe所在的目录,输入下面的命令行,此处我创建了一个文件夹:c:\project_repo 阅读全文
摘要:
在看《windows核心编程》时,看到内存映射文件一章节,书中提到录音文件动态增长,作者也留下了连接关于他实现的“可增长的内存映射文件”的方法,我没找到,于是自己就试着写了一个,源代码贴出来,以供日后参考void increaseFile(){ using namespace std; HANDLE hFile = CreateFile( L"me", GENERIC_READ|GENERIC_WRITE, 0, NULL, CREATE_NEW, 0, NULL); if (INVALID_HANDLE_VALUE == hFile... 阅读全文
摘要:
在看《WINDOWS核心编程》,看到WINDOWS线程池这一章节,只是看到怎么怎么用,但是却不知道为什么要使用它的线程池,如果只是说为了节省创建线程和管理线程的步骤,个人觉得还是使用自己创建线程来的方便一些,目前对这一块理解很不到位,也没有实际的需求来写一个应用,在网上找了一些文章,在此记录一下,等我把这一章节看完,再做一个DEMO,到时候再把自己的理解写下来。http://msdn.microsoft.com/zh-cn/magazine/hh335066.aspxhttp://msdn.microsoft.com/en-us/magazine/cc163327.aspx 阅读全文
摘要:
郑重声明,分割线以下的内容是错误的,由于我之前对这部分没看完整,故而写出分割线下面的错误内容.在此更正一下.如果某一时间点有线程在CriticalSection内的话,EnterCriticalSection()会让待进入CriticalSection区域内的其它线程处于等待状态.但是它会将待进入CriticalSection的线程切换到不占用CPU的状态,太棒了!以前一直认为,使用CriticalSection这种方式是实现互斥最节约资源的方式,今天看了<WINDOWS核心编程>的旋转锁,以及提及CriticalSection的实现方式,才发觉我原来的这种想法是错的.BOOL g 阅读全文
摘要:
如题,下面是代码. 1 // header.h 2 class A 3 { 4 public: 5 bool StartServer(int port); 6 7 private: 8 unsigned int __stdcall listenThreadFunction(); 9 10 int mData;11 }12 13 // implement.cpp14 #include "header.h"15 16 union17 {18 unsigned int (__stdcall *ThreadPorc)(void*);19 unsigne... 阅读全文
摘要:
我是本周二(2013.03.12)提交的离职申请,上个周四改问题,与六位同事干了一个通宵,我不想把这个问题留给别人来解决。周五一天没来,但也没有睡觉,女友前一天晚上到我这里来玩,睡我宿舍里面,周五早上让她出去逛逛,我睡了两个多小时,太吵,就不睡了,下午回我们的家周四晚上通宵的那些人周五那天只有我一人没来,其实那时以及之前我还没有表露出我要离职的想法本周一晚上,我借口大家为了同我一起修改问题而陪我一起干了一个通宵,我表示很感激,晚上请大家吃个饭,实际是与大家告别一下。席间我也没表露出我要离职的想法。次日,即本周二,那天的风很大,吹得人很不舒服,我提交了离职申请给组长,“确定一定以及肯定?要不要再 阅读全文
摘要:
最近在看接手的一些代码,有些问题让我蛋疼,把一些心得记下来,也算是给自己提醒1. uint 类型的值, 如果没有初始化, 使用if (value > 0)来比较的话, 得到的永远是true. 但是实际使用的值却不是你想要的值,有点坑爹吧2. const 成员函数里面不要使用STL容器的[]来查找对象, 因为[]找不到这个对象的话,将会插入新的对象,而const函数是不让修改成员变量的,所以会出错3. 拷贝构造函数 & 赋值运算符之伤如果类中的成员变量有数组存在的话, 请一定重载拷贝构造函数和赋值运算符号!!!如果你确保不会调用这两个函数的话, 那么请把它们的函数空体明明白白的写在 阅读全文