摘要: 1.vector 底层数据结构为数组 ,支持快速随机访问2.list 底层数据结构为双向链表,支持快速增删3.deque 底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问4.stack 底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时5.queue 底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限制,扩容耗时6.45是适配器,而不叫容器,因为是对容器的再封装7.priority_queue 的底层数据结构一般为vector为底层容器,堆heap为处理规则来... 阅读全文
posted @ 2013-05-15 20:14 全绍辉 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 首先,C++标准中提到,一个编译单元[translation unit]是指一个.cpp文件以及它所include的所有.h文件,.h文件里的代码将会被扩展到包含它的.cpp文件里,然后编译器编译该.cpp文件为一个.obj文件,后者拥有PE[Portable Executable,即Windows可执行文件]文件格式,并且本身包含的就已经是二进制码,但是,不一定能够执行,因为并不保证其中一定有main函数。当编译器将一个工程里的所有.cpp文件以分离的方式编译完毕后,再由连接器(linker)进行连接成为一个.exe文件。举个例子://---------------test.h------- 阅读全文
posted @ 2013-03-21 15:53 全绍辉 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 出处:http://www.cnblogs.com/jankie/archive/2011/05/19/2050881.htmlLinux 2.6内核中提高网络I/O性能的新方法-epoll I/O多路复用技术在比较多的TCP网络服务器中有使用,即比较多的用到select函数。1、为什么select落后首先,在Linux内核中,select所用到的FD_SET是有限的,即内核中有个参数__FD_SETSIZE定义了每个FD_SET的句柄个数,在我用的2.6.15-25-386内核中,该值是1024,搜索内核源代码得到:include/linux/posix_types.h:#define __ 阅读全文
posted @ 2013-03-21 10:34 全绍辉 阅读(344) 评论(0) 推荐(0) 编辑
摘要: http://wenku.baidu.com/view/24b7f217650e52ea54189805.html 阅读全文
posted @ 2013-03-13 22:50 全绍辉 阅读(78) 评论(0) 推荐(0) 编辑
摘要: char str[]="c:\\Program Files\\WinRAR\\WinRAR.exe e -hp11111111 Quan1.rar"; PROCESS_INFORMATION pidInfo; STARTUPINFO startInfo; BOOL b;char *buf=" "; startInfo.cb = sizeof(STARTUPINFO); startInfo.lpReserved = NULL; startInfo.lpTitle = NULL; startInfo.lpDesktop = NULL; startInfo.d 阅读全文
posted @ 2013-01-28 10:09 全绍辉 阅读(176) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/danVC/archive/2010/05/23/1741959.htmlhttp://java.chinaitlab.com/net/725348.htmlhttp://blog.163.com/sandylin_wind/blog/static/93550055200810985158426/?suggestedreadinghttp://blog.csdn.net/firebird321/article/details/1767317 阅读全文
posted @ 2012-12-12 23:51 全绍辉 阅读(121) 评论(0) 推荐(0) 编辑
摘要: #include "..\server\server.h"//包含组建头文件//三个接口const IID IID_IQuan = {0xD8F43E2D,0xA5E2,0x4860,{0xAB,0xBF,0x99,0x59,0x46,0x93,0x8B,0xF1}}; const IID IID_IQuanInt2 = {0x8EAAFD88,0xF503,0x4E64,{0x87,0xFF,0x03,0x6E,0xF2,0x65,0x07,0x04}}; const IID IID_IQuanInt3 = {0xA3838B9E,0xC925,0x443A,{0xBD, 阅读全文
posted @ 2012-11-24 17:40 全绍辉 阅读(192) 评论(0) 推荐(0) 编辑
摘要: http://cs.nju.edu.cn/yangxc/dcc2003.files/jszc-sub/comif-30.htm摘要:WIN95界面下的VC++串口通讯程序在WIN32下是不建议对端口进行操作的,在WIN32中所有的设备都被看成是文件,串行口也不例外也是作为文件来进行处理的。 关键词 串行口,DWORD,缓冲区 WIN95界面下的VC++串口通讯程序在WIN32下是不建议对端口进行操作的,在WIN32中所有的设备都被看成是文件,串行口也不例外也是作为文件来进行处理的。这是我的一份关于串口编程的读书笔记,对于使 用VC进行编程的同行应该有一定的帮助。1.打开串口: 在Windo.. 阅读全文
posted @ 2012-11-16 17:03 全绍辉 阅读(429) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/hanxi/archive/2012/11/04/2753993.html一、C①基本函数实现swap()reverse()void reverse(char s[],int longest){ char c; int i=0; if (longest>1) { for (i=0;i<longest-1;i++) { c=s[i]; s[i]=s[i+1];/* 依次交换数组中相邻的数组元素 */ s[i+1]=c; } longest--; reverse (s,lon... 阅读全文
posted @ 2012-11-04 18:53 全绍辉 阅读(364) 评论(0) 推荐(0) 编辑
摘要: API之进程和线程函数CancelWaitableTimer 这个函数用于取消一个可以等待下去的计时器操作CallNamedPipe 这个函数由一个希望通过管道通信的一个客户进程调用ConnectNamedPipe 指示一台服务器等待下去,直至客户机同一个命名管道连接CreateEvent 创建一个事件对象CreateMailslot 创建一个邮路。返回的句柄由邮路服务器使用(收件人)CreateMutex 创建一个互斥体(MUTEX)CreateNamedPipe 创建一个命名管道。返回的句柄由管道的服务器端使用CreatePipe 创建一个匿名管道CreateProcess 创建一个新进程 阅读全文
posted @ 2012-11-04 14:18 全绍辉 阅读(324) 评论(0) 推荐(0) 编辑