摘要: 动态内存管理内存管理的目标是提供一种方法,为实现各种目的而在各个用户之间实现内存共享。内存管理方法应该实现以下两个功能:最小化管理内存所需的时间最大化用于一般应用的可用内存(最小化管理开销)内存管理实际上是一种关于权衡的零和游戏。您可以开发一种使用少量内存进行管理的算法,但是要花费更多时间来管理可用... 阅读全文
posted @ 2014-10-16 15:47 foundwant 阅读(1076) 评论(0) 推荐(0) 编辑
摘要: 首先,微软提供的WinInet库封装了对网页访问的方法。 最近工作需要从https服务器获取数据,都知道https和http网页的访问方式不同,多了一道证书认证程序,这样就使得https在请求起来比http要复杂的多;好在,WinInet库中提供了对https网页请求的处理,这样就不需要在使用openssl中的一些方法来复杂化程序了。 下面贴上我的解决前的代码,再对比我遇到问题之后的代码,在通过实际遇到的问题和环境来阐述: 解决前代码:#include #include #include #include #include "Windows.h"#include " 阅读全文
posted @ 2013-12-02 14:49 foundwant 阅读(11612) 评论(0) 推荐(0) 编辑
摘要: 转自:http://deerchao.net/tutorials/regex/regex.htm#mission目录跳过目录本文目标如何使用本教程正则表达式到底是什么东西?入门测试正则表达式元字符字符转义重复字符类分枝条件反义分组后向引用零宽断言负向零宽断言注释贪婪与懒惰处理选项平衡组/递归匹配还有些什么东西没提到联系作者网上的资源及本文参考文献更新纪录本文目标30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它。如何使用本教程最重要的是——请给我30分钟,如果你没有使用正则表达式的经验,请不要试图在30秒内入门——除非你是超人 :)别被下面那些复杂的 阅读全文
posted @ 2013-11-24 11:29 foundwant 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 要理解static,就必须要先理解另一个与之相对的关键字,很多人可能都还不知道有这个关键字,那就是auto,其实我们通常声明的不用static修饰的变量,都是auto的,因为它是默认的,就象short和long总是默认为int一样;我们通常定义一个变量: int a; string s; 其实就是: 阅读全文
posted @ 2013-11-11 09:02 foundwant 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 在定义一个dll工程的时候,一添加MFC的头文件就会报出这个 错误:error LNK2005: _DllMain@12 已经在 DLLMain.obj 中定义 既蛋疼又蛋疼!!然后逛论坛,查资料,妹的,都尼玛是去论坛看热闹的,没有一个起的上作用的!无奈之,遂请教。。。于是乎,解决! 在创建Dll工程的时候,需要我们定义一个DllMain的入口函数,问题就出在这里! 当我们添加MFC的头文字时候,MFC默认封装了这个入口函数,你也不知道是哪个头文件里面封装的,但是我包含了这些头文件: 就加了这两个头文件就出了问题!于是只能在自己定义的DllMain.cpp入口函数上做处理,下面是解... 阅读全文
posted @ 2013-11-06 11:10 foundwant 阅读(2995) 评论(0) 推荐(0) 编辑
摘要: 阻塞I/O模型: 简介:进程会一直阻塞,直到数据拷贝 完成 应用程序调用一个IO函数,导致应用程序阻塞,等待数据准备好。 如果数据没有准备好,一直等待….数据准备好了,从内核拷贝到用户空间,IO函数返回成功指示。阻塞I/O模型图:在调用recv()/recvfrom()函数时,发生在内核中等待数据和复制数据的过程。 当调用recv()函数时,系统首先查是否有准备好的数据。如果数据没有准备好,那么系统就处于等待状态。当数据准备好后,将数据从系统缓冲区复制到用户空间,然后该函数返回。在套接应用程序中,当调用recv()函数时,未必用户空间就已经存在数据,那么此时recv()函数就会处于等待状态。. 阅读全文
posted @ 2013-10-09 23:06 foundwant 阅读(1954) 评论(0) 推荐(0) 编辑
摘要: 经常要遇到汉字编码问题的处理,UTF-8: 3字节一个字符UNICODE: 2字节一个字符GB2312: 1字节一个字符例子:“你”字的UTF-8编码: E4 BD A0 11100100 10111101 10100000“你”的Unicode编码: 4F 60 01001111 01100000按照UTF-8的编码规则,分解如下:xxxx0100 xx111101 xx100000,把除了x之外的数字拼接在一起,就变成“你”的Unicode编码了。注意UTF-8的最前面3个1,表示整个UTF-8串是由3个字节构成的。经过UTF-8编码之后,再也不会出现敏... 阅读全文
posted @ 2013-09-10 23:28 foundwant 阅读(299) 评论(0) 推荐(0) 编辑
摘要: DDE (Dynamic Data Exchange,DDE)动态数据交换,是一种进程间通信机制,它最早是随着Windows由微软提出的。当前大部分软件仍旧支持DDE,但最近十年里微软已经停止发展DDE技术,只保持对它给予兼容和支持。但程序猿仍可以利用DDE技术来编写自己的数据交换程序。一、使用DDE技术通信原理 两个同时运行的程序间通过DDE方式交换数据是C/S关系(客户端/服务器),一旦客户和服务器建立连接关系,则当服务器中的数据发生变化后就会马上通知客户端。通过DDE方式建立的数据连接通道是双向的,即客户端不仅能够读取服务器中的数据,而且可以对其进行修改。 DDE和剪贴板一样既支持标.. 阅读全文
posted @ 2013-08-05 14:23 foundwant 阅读(3039) 评论(0) 推荐(1) 编辑
摘要: 字体的设置在工具->选项->环境->字体和颜色。相信大家在用VS2010的时候都会觉得默认的字体不是很好看,尤其是看的时间长了以后,更是累眼睛,这里推荐一个字体,个人感觉像是加粗加圆滑版的,这个字体是VC6.0里面的默认字体,不过看起来确实会比原先的舒服一些。字体名字叫:Fixedsys Excelsior 3.01,下载地址:http://www.fixedsysexcelsior.com/。安装的话,进控制面板,打开字体,然后把字体复制进去就安装上了,然后打开VS2010,进入工具->选项->环境->字体和颜色,字体里就有Fixedsys Excelsi 阅读全文
posted @ 2013-08-01 07:31 foundwant 阅读(3672) 评论(0) 推荐(0) 编辑
摘要: 前段时间为了一个项目而把VS2008换成了VS2010,结果原本就不堪重负的本本跑起VS2010来那更是慢得没话说,于是看了遍VS2010选项,又从网上到处找资料找优化方法,总算使我的VS2010跑得快了些。一、VS2010选项视觉体验设置工具->选项->环境视觉体验的勾选都去掉。不解释,你懂得。二、禁用Intellisense工具->选项->文本编辑器->C/C++->高级禁用IntelliSense设为True这个功能很好用。相较于Visual Assist X,Intellisence结果更加准确,但活动也更加频繁,项目一庞大时修改头起来就会使VS变得 阅读全文
posted @ 2013-07-30 14:13 foundwant 阅读(433) 评论(0) 推荐(0) 编辑