- 博客(14)
- 资源 (12)
- 收藏
- 关注
原创 WebSocket 编译指南
本次编译的 WebSocketpp 的vs08版本,这个说法其实不准确。确切的说法是:因为开发用的是vs08,所以WebSocketpp需要的一些其他库,也必须是vs08版本。【一】准备好原材料:1、下载 websocketpp 库:https://github.com/zaphoyd/websocketpp/tree/0.7.02、下载 OpenSSL 库:https
2017-04-27 20:15:44 7941 4
转载 为什么要使用内存池技术?
首先,要弄清楚一个事实:C/C++的内存分配(通过malloc或new)可能需要花费很多时。更糟糕的是,随着时间的流逝,内存将形成碎片,所以一个应用程序的运行会越来越慢。当它运行了很长时间或执行了很多的内存分配(释放)操作的时候。特别是,你经常申请很小的一块内存,堆(heap)会变成碎片的。如何解决?一个(行之有效的)解决方法是内存池(Memory Pool)。在启动的
2017-04-26 16:59:25 2953
转载 Windows 内存管理的几种方式和优缺点
Windows内存管理方式主要分为:页式管理、段式管理和段页式管理。页式管理,它的基本原理:是将各进程的虚拟空间划分为若干个长度相等的页。把内存空间按页的大小划分为片或者页面,然后把页式虚拟地址与内存地址建立一一对应的页表,并用相应的硬件地址转换机构来解决离散地址变换问题。页式管理采用请求调页和预调页技术来实现内外存存储器的统一管理。优点:没有外碎片,每个内碎片不超过页
2017-04-26 16:42:10 1163
转载 Windows 程序启动性能优化
一、重定位链接时重定位:目标文件一般由多个节组成,编译器在编译每个目标文件时一般都是从0地址开始生成代码。当多个代码节合成一个代码段时,需要根据其在最终代码段中的位置做出调整。同时,链接器需要对已经解析的符号分配运行时地址。这个过程就是重定位。加载时重定位:程序中可能调用了DLL,由于EXE是最先被加载的,所以一般都能加载到其想要的内存地址上;而DLL的加载一般在EXE之后,就
2017-04-25 10:54:21 1778
原创 DebugView 使用技巧
1、什么是DebugView?DebugView是一个系统调试信息输出的捕获工具。2、DebugView它能干吗?可以捕获程序中由 TRACE()和 OutputDebugString()输出的信息。说的具体一点,在程序中使用如下函数:1)、 OutputDebugString 或者在MFC中使用TRACE2)、内核模式中使用Out_Deb
2017-04-24 18:14:39 14878
原创 Json Unexpected character in stream: r
Json解析遇到“Unexpected character in stream: r”,出现该异常的原因:1、Json在读取数据的时候,并不是完整的Json数据。
2017-04-21 13:02:36 800
转载 GetLastError() 返回值对照表
[0] -操作成功完成。[1] -功能错误。[2] -系统找不到指定的文件。[3] -系统找不到指定的路径。[4] -系统无法打开文件。[5] -拒绝访问。[6] -句柄无效。[7] -存储控制块被损坏。[8] -存储空间不足,无法处理此命令。[9] -存储控制块地址无效。[10] -环境错误。[11] -试图加载格式错误的程序。[12] -访问码无
2017-04-19 18:05:41 5044
原创 ifstream(ofstream) 打开中文路径失败
用 ifstream 或 ofstream 打开带有中文路径的文件会失败。主要问题在于系统语言环境,解决办法如下:std::locale loc = std::locale::global(std::locale(""));//设置全局locale为本地环境std::ifstream _in("D:\\Program Files\\中文字符\\text.db");int erro
2017-04-19 17:50:27 4000
原创 C++ 类模板小结(双向链表的类模板实现)
一、类模板定义定义一个类模板:templateclass 类名{// 类定义......};其中,template 是声明类模板的关键字,表示声明一个模板,模板参数可以是一个,也可以是多个,可以是类型参数,也可以是非类型参数。类型参数由关键字class或typename及其后面的标识符构成。非类型参数由一个普通参数构成,代表模板定义中的一个常量。例:template//ty
2017-04-17 16:32:34 3486
原创 C++ 函数模板小结
一般而言, 模板分为 函数模板 和 类模板,下面就函数模板进行一下总结。1、函数模板的定义和使用定义一个模板函数的格式并不复杂, 如下:template 返回类型 函数名(函数参数列表){ // code ...}下面, 举个例子来说明模板函数的作用和用法:#include #include //printf#inclu
2017-04-14 16:36:46 833
原创 ChangeWindowMessageFilterEx 概述
ChangeWindowMessageFilterEx 函数,为指定窗口修改用户界面特权隔离 (UIPI) 消息过滤器。函数原型:BOOL WINAPI ChangeWindowMessageFilterEx( __in HWND hWnd, __in UINT message, __in DWORD action, __inout_opt PCHANGEFILTERS
2017-04-13 17:01:48 6637 1
转载 OpenGL + vs2010开发环境配置
vs2010-OpenGL环境配置1、下载GLUT。Windows环境下的GLUT下载地址:http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip2、将下载的压缩包解开,将得到5个文件:glut.h glut.lib glut32.lib glut.dll glut32.dll3、将glut.h放到(C:\Pr
2017-04-11 12:05:23 2860 1
转载 OpenGL概述
OpenGL(Open Graphics Library开发图形库)是一个跨编程语言、跨平台的三维的计算机图形模型库。OpenGL是SGI公司开发的一套计算机图形处理系统,是图形硬件的软件接口,任何一个OpenGL应用程序无须考虑其运行环境所在平台与操作系统,在任何一个遵循OpenGL标准的环境下都会产生相同的可视效果。OpenGL不是一种编程语言,而是一种API。 【OpenGL
2017-04-10 18:21:21 1053
原创 rapidxml 文件读写、增加、删除、编辑节点
本文旨在提供RapidXml文件读写操作,以及对节点的增加、删除、编译提供一个Demo。测试的代码如下:#include #include #include #include "rapidxml/rapidxml.hpp"#include "rapidxml/rapidxml_utils.hpp"//rapidxml::file#include "rapidxml/rapidxml_
2017-04-10 17:02:16 4390
sqlite3_blob_test.zip
2019-05-15
基于winInet的文件上传程序
2019-04-04
基于mongoose实现Http Server(多线程)
2019-02-14
SpreadSheet的DLL版本(含源代码)
2018-07-02
SpreadSheet简单使用实例
2018-07-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人