自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(70)
  • 资源 (6)
  • 收藏
  • 关注

原创 消息队列

<br />// Test.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <windows.h>#include <process.h>#include <queue>using namespace std;class CMessage{public: OVERLAPPED m_ov;};template<class T>class IMessageQueue{

2010-08-26 12:19:00 342

转载 VC2003实现 __FUNCTION__ 宏

#include "stdafx.h"#include typedef unsigned long ULONG_PTR,*PULONG_PTR;#define __out_ecount_opt(x)#include #include #include "stdlib.h"#pragma comment(lib,"dbghelp.lib")static LPSTR GetSymbolSearchpath (){ char director

2010-08-14 09:11:00 933

转载 也谈Release版本排错

也谈Release版本排错 邓立波 深圳,2008-6作者联系方式:email: [email protected]: [email protected] 通常Release除错都是先通过SetUnhandledExceptionFilter捕获异常,然后生成报告文件,最后定位代码行,主要以下两种方法:(一)通过遍历调用栈,将其调用栈信息输出到文件。然后查找出错地址。查找方式有两种:(

2010-08-14 08:48:00 574

转载 批处理编译项目,VS2003

@cls @call "%VS71COMNTOOLS%vsvars32.bat" @devenv "XXXX.sln" /build Debug

2010-06-13 17:19:00 364

原创 #define P(

<br />#define P(format, ...) do /<br />        { /<br />            printf("%s %s %d " format "/n", __FILE__, __FUNCTION__, __LINE__, ##__VA_ARGS__); /<br />            fflush(stdout); /<br />        } /<br />        while (0);

2010-06-13 12:42:00 291

转载 如何通过下标删除vector中的指定元素

<br />比如:vector vecID; 中保存了m个ID,这时要删除第n个ID。<br />当然,遍历是一个方法;即vector::itertor it = vecID.begin(); 然后++it n次。<br />更好的方法是:vector::itertor it = vecID.begin() + n; vector的迭代器直接支持这种偏移。<br />然后用vecID.erase(it)方法 删除该元素。

2010-06-12 11:43:00 3491 1

转载 服务器端引入vld检测内存泄露

<br />影响服务器稳定的原因很多种,内存泄露是其中比较重要的一种。内存泄露严重的,很容易导致当机。而内存泄露的发生很经常。特别是新人介入游戏开发时。作为主程,不可能盯着每一行代码的增加/删除/修改。<br />       那么 如何快速,有效的发现问题,并定位问题呢?<br />       传统的方法有,bounds checker或者purify等工具。这些工具是大而全。功能非常完善。但是在实际使用时我们发现,启动一个服务器非常慢。每个点要跟踪,而且有些误报。一天下来,问题找的不多,人倒是很累。<

2010-06-12 11:42:00 809

转载 如何让vld支持release版本的内存泄露检测

<br />vld版本1.9h支持vc60及vs2005,vs2008的内存泄露检测,但是只支持debug版本。 <br />通常情况下,我们更关心的是release版本下是否有内存泄露。显然 vld并不能满足我们的要求。 <br />因此,我们需要对vld进行修改。 <br /><br />研究了一下代码,发现主要有几个方面控制导致了vld无法在release下使用: <br />1)首先,VLD通过宏,在vldini.h中直接禁止在release下导出相关函数。 <br />2)其次,vld.cpp中,

2010-06-12 11:40:00 1743

转载 SVN代码提交流程

<br />前言:<br />经常从SVN上取最新代码下来后发现编译过不去,查找提交log找到之前提交的人,了解其提交代码的流程后,发现SVN代码提交流程有点问题. SVN代码提交虽然简单,但是如果没严格按照步骤来的话,很容易出错,出现代码覆盖,遗漏提交的情况。现在整理一个SVN提交代码流程的精简的版本。<br />有2种方法,推荐方法1。<br />方法1 通过本地SVN代码库中转提交:<br />1。本地SVN代码库更新<br />为了方便代码提交,建议本地维护一个与SVN对应的,只用来存放最新代码的本

2010-06-12 11:36:00 7305 2

转载 如何解决使用SQLite对中文进行模糊查询失效的问题?

<br />test表:<br />id     name<br />1     张三<br />2     李四<br />3     王五<br />SELECT * FROM test WHERE name LIKE '%张%' ; 查出来的记录却不止只有一条“张三”<br />原来是SQLite使用的字符集是UTF8, 所以存入数据时如果有中文就应该先转成UTF8,取出来的时候要转回来的ASCCI码

2010-06-12 11:34:00 771

转载 8条SQLServer查询优化方案

<br />1.建立索引的前提下WHERE子句性能 <br />     最好的是带有"="操作符 <br />     其次是封闭的区间 <br />     再其次是开放的区间 <br />2.避免相关子查询 <br />3.避免困难的正规表达式 <br />4.避免使用含有不连续连接词(OR和IN)的WHERE子句 <br />5.WHERE子句中限制数据转换和串操作 <br />6.慎用包含NOT、<>的WHERE子句 <br />7.SELECT时按需取字段 <br />8.勿滥用LIKE关键字

2010-06-12 11:34:00 258

转载 8条SQLServer查询优化方案

<br />1.建立索引的前提下WHERE子句性能 <br />     最好的是带有"="操作符 <br />     其次是封闭的区间 <br />     再其次是开放的区间 <br />2.避免相关子查询 <br />3.避免困难的正规表达式 <br />4.避免使用含有不连续连接词(OR和IN)的WHERE子句 <br />5.WHERE子句中限制数据转换和串操作 <br />6.慎用包含NOT、<>的WHERE子句 <br />7.SELECT时按需取字段 <br />8.勿滥用LIKE关键字

2010-06-12 11:34:00 181

转载 不同软件规模下的代码设计原则

<br />不同软件规模下的代码设计原则<br />声明:本文题目所指的“原则”为本文作者原创,系本文作者在多年的软件开发实践中所摸索出来的成果。<br /> <br />背景<br />软件工程在理论研究与实践应用方面都经过了很长时间的发展,甚至与软件本身的历史一样长。伴随着软件工程的长时间的发展,代码设计的内容也变得越来越丰富,复杂度也越来越高,甚至显得有些复杂的过头了。近十年来,敏捷开发思想悄然流行,说明大量的开发者趋向于认同如下的观点:软件工程上的大量原则过于复杂,其复杂度导致开发者遵循这些原则所付

2010-06-12 11:33:00 846

原创 Handle-Body与接口、抽象接口

<br />在C++中封装的概念是把一个对象的外观接口同实际工作方式(实现)分离开来,但是C++的封装是不完全的,编译器必须知道一个对象的所有部分的声明,以便创建和管理它。我们可以想象一种只需声明一个对象的公共接口部分的编程语言,而将私有的实现部分隐藏起来。C + +在编译期间要尽可能多地做静态类型检查。这意味着尽早捕获错误,也意味着程序具有更高的效率。然而这对私有的实现部分来说带来两个影响:一是即使程序员不能轻易地访问实现部分,但他可以看到它;二是造成一些不必要的重复编译。 <br />然而C++并没有将

2010-06-05 18:10:00 942 1

转载 模板特化和偏特化

模板特化和偏特化谢宝陵 周 生 摘要:本文通过例子介绍了在 C++标准库中广泛使用的模板特化和偏特化,并指出了模板特化和偏特化的定义规则和应用规则。关键词:模板、特化、偏特化1.引言C++中的模板分为类模板和函数模板,虽然它引进到C++标准中的时间不是很长,但是却得到了广泛的应用,这一点在STL中有着充分的体现。目前,STL在C++社区中得到了广泛

2010-05-04 22:50:00 364

原创 如何利用.pdb文件去调试

如何利用.pdb文件去调试 Posted on 2010-04-20 16:35 metaboy 阅读(42) 评论(0)  编辑 收藏 所属分类: 10 C++ <!--<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:dc="http://purl.org/dc/elements/1.1

2010-04-26 18:07:00 2324

转载 C++应用程序性能优化读书笔记

粗浅的看了下,有点虎头蛇尾。暂且记下。第一篇 C++程序优化基础第1章 C++对象模型1.1 基本概念1.1.1 程序使用内存区    一个程序占用的内存区一般分为5种:全局/静态数据区、常量区、代码区、栈、堆。    例子代码:    #include     #include     int nGlobal = 100;    int main(void)   

2010-04-23 11:02:00 451

原创 VisualSVN

  VisualSVN是一个Visual Studio插件,集成Subversion和TortoiseSVN无缝地到Visual Studio 。 部署VisualSVN, 所有的开发人员将使用Subversion自信和有效地管理和保护您的组织的工作成果。       VisualSVN 1.7.3.破解版 网上搜了很久才找到 内含原版安装程序和破解补丁     点击下载 VisualSVN 1.

2010-04-17 11:30:00 338

原创 IOCP写的TCP测试工具

自己用IOCP写的TCP服务器端和客户端测试工具。 客户端的界面做的比较简洁,客户端用的是阻塞方式,因此连接的时候会出现无响应现象,连接成功后用异步,可测试服务器的并发和消息的收发。客户端在指定时间间隔发送指定大小的数据包,服务器收到后放入队列,在回复给此客户端,底层接收缓冲区为16K,超过此大小的数据包程序会异常。  附上下载地址: http://d.downlo

2010-03-15 22:13:00 911

原创 批处理自动生成分卷压缩和解压缩

分卷压缩:set size=5m set OuputPath=D:/testset RarName=Testset Level=5 "c:/program files/winrar/rar.exe" a -ep1 -m%Level% -v%size% %OutputPath%/%RarName%.rar %1@FOR /r %OutputPath%/%name%/ %%

2010-02-09 10:46:00 617

原创 网络设备原理 应用到 软件设计

集线器设备(全层广播):(1)下行:上层结点发送消息到集线器上的设备,对下层所有设备进行广播,所有设备判断消息后选择接受与拒绝。 (2)上行:下层设备发送消息到上层或同层设备,由HUB的上层结点负责转发或选择路由。 交换机设备(转发表):(1)下行:上层结点发送消息到交换机上的设备,交换设备可进行过滤及转发。 (2)上行:下层设备发送消息到上层或同层设备,交换设备可进行过滤

2009-12-25 11:03:00 224

转载 Windbg使用指南(1)---常用命令

debug常用命令解析:1 !address eax查看对应内存页的属性2 vertarget 显示当前进程的大致信息3 !peb 显示process Environment Block4 lmvm 可以查看任意一个dll的详细信息 例如:0:026 lmvm msvcrt (deferred)表示察看msvcrt.dll的信息,但是没有加载symbol可以通过.reload命令来加载 5.rel

2009-12-17 11:39:00 511

原创 配置Apache + Subversion

1.下载Apache,安装2.下载Subversion,默认选项,并安装3.使用svnadmin create "d:/svn/Project_one" 创建数据仓库4.配置数据仓库中的svserve.conf文件,增加读写权限,帐号验证及Reposity。5.使用htpasswd创建用户名及密码文件FileUserPassword。6.配置Apache 配置文件下的 http

2009-10-29 17:04:00 208

转载 Subversion权限文件AuthzSVNAccessFile示例

http://hi.baidu.com/javava/blog/item/32b2faf86ab5710dd8f9fd96.html    Subversion权限文件AuthzSVNAccessFile示例2007-06-25 22:14在使用Subversion时,认证文件AuthzSVNAccessFile能控制每一个目录的权限,但讲解的文档较少,

2009-10-29 17:03:00 322

转载 源码配置管理(subversion+apache)

其实这文章是两三个月前写的,一直没有放上来,这段时间正好又换了配置服务器,所以才拿出来.这几天一直在找一个能与vs.net2003相结合的源代码管理工具,几乎试用过所有的大部分工具,难者难,易则简,今天准备安装subversion试试1. 转到http://httpd.apache.org/download.cgi2. 下载 apache_2.0.53-win32-x86-no_ssl

2009-10-27 17:18:00 280

原创 FLASH封装类

#if !defined(AFX_SHOCKWAVEFLASH_H__E91CB61E_FB9A_4ECD_9082_7AC2E024A7B2__INCLUDED_)#define AFX_SHOCKWAVEFLASH_H__E91CB61E_FB9A_4ECD_9082_7AC2E024A7B2__INCLUDED_#if _MSC_VER > 1000#pragma once

2009-10-08 17:09:00 3037 2

原创 自定义引用计数指针

#ifndef _INTRUSIVE_PTR_H_#define _INTRUSIVE_PTR_H_templateclass intrusive_ptr{public: intrusive_ptr():m_pPtr( NULL ) { }; intrusive_ptr( const intrusive_ptr &intrptr ):m_pPtr( NULL

2009-09-29 15:28:00 254

原创 计算代码行代码

#include "stdafx.h"#include #include #include #include #include using namespace std; int g_nFileNum =0 ;BOOL IsRoot(LPCTSTR lpszPath){ TCHAR szRoot[4]; wspri

2009-09-27 17:16:00 316

转载 UDT协议-基于UDP的可靠数据传输协议

转摘自:http://hi.baidu.com/wjtao291/blog/item/6daf83fdea7d751709244df5.html   UDT协议-基于UDP的可靠数据传输协议1.   介绍    随着网络带宽时延产品(BDP)的增加,通常的TCP协议开始变的低效。这是因为它的AIMD(additive increase multiplicative decrease

2009-08-27 16:29:00 572 1

转载 ace的锁概述

概述ACE中的锁都是即可用于线程间也可用于进程间通信,一般是由构造函数的参数type指定。ACE提供的“原始锁”如:ACE_Mutex、ACE_Semaphore、ACE_File_Lock等等,这些锁都没有通过继承和多态的形式实现,而是各自独立地实现相关接口。这些“原始锁”之所以不用多态的形式,按ACE在文件Lock.h的解释:多态函数调用会增加20%的开销,有了多态函数就不能把锁放在共享内

2009-06-12 17:00:00 2762

转载 Win32应用程序中进程间通信方法分析与比较

Win32应用程序中进程间通信方法分析与比较 来源:Intetnet 1 进程与进程通信   进程是装入内存并准备执行的程序,每个进程都有私有的虚拟地址空间,由代码、数据以及它可利用的系统资源(如文件、管道等)组成。多进程/多线程是Windows操作系统的一个基本特征。Microsoft Win32应用编程接口(Application Programming Interface, API)提供了大

2009-05-19 19:49:00 381

转载 使用PostThreadMessage在Win32线程间传递消息

 PostThreadMessage的原型是这样的BOOL PostThreadMessage( DWORD idThread,    UINT Msg,    WPARAM wParam,    LPARAM lParam);PostThreadMessage可以用于线程之间的异步通讯,因为它不用等待调用者返回,这也许是线程通讯中最简单的一种方法了。但是要注意以下问题1 .PostThr

2009-05-13 16:51:00 373

原创 WinDBG(CDB)实践1-新手指南

 Step1 下载最新的Debugging Tools for windows http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx最新版本是6.6.7.5 http://msdl.microsoft.com/download/symbols/debuggers/dbg_x86_6.6.07.5.exe(BTW,如果使

2009-05-13 16:49:00 419

转载 使用Gflags来检测heap问题

先说一下问题,如何让下面程序(release版本)能立即报出异常,程序出错?默认情况很大可能是不crash的int _tmain(int argc, _TCHAR* argv[]){    char *p=new char[10];    for(int i=0;i10;++i)    p[i]=i;    p[10]=10;    return 0;}众所周知,heap问题一般比较难于处

2009-05-13 16:48:00 656 1

原创 内核对象同步锁

//临界区锁struct THREAD_CS_MUTEX{ THREAD_CS_MUTEX() { InitializeCriticalSection( &m_hLock ); } ~THREAD_CS_MUTEX() { DeleteCriticalSection( &m_hLock ); } inline void Lock() {

2009-04-28 11:53:00 268

原创 用子网掩码来计算主机数

用子网掩码来计算主机数。搜寻网络得到:256 - 掩码 = 网络大小网络大小 - 2 = 主机数量256 / 网络大小 = 子网数量         注:子网络号不能全0,也不能全1 。故子网数量 还应 - 2。例:把网络202.194.1.0划分为多个子网,子网掩码是255.255.255.192 256 - 192 = 64 //网络大小64 - 2 = 62 //主机数量,,每个子网的主机数

2009-04-13 15:52:00 1448 1

原创 VARIANT数组封装类

    最近经常使用VC的VARIANT,封装了一个 VARIANT类与常见数组的转换类,实现其相关功能,提高了开发效率。#pragma once enum ElementType{       V_LONGLONG=VT_I8,       //VT_I8.     V_ULONGLONG=VT_UI8,     //VT_UI8     V_LO

2009-01-13 10:17:00 1299 1

转载 结构成员对齐

 “结构成员对齐”(/Zpn) 选项控制如何将结构成员封装到内存中,并为模块中的所有结构指定相同的封装方式。当指定此选项时,第一个结构成员后的每个成员将在成员类型大小或 n 字节边界(其中 n 为 1、2、4、8 或 16)两者中较小的一个处存储。除非有特定的对齐要求,否则不应使用此选项。选项结果/Zp1在 1 字节边界上封装结构/Zp2在

2008-09-24 11:14:00 248

转载 Union的迷思

联合(union)在C/C++里面见得并不多,但是在一些对内存要求特别严格的地方,联合又是频繁出现,那么究竟什么是联合、怎么去用、有什么需要注意的地方呢?就这些问题,我试着做一些简单的回答,里面肯定还有不当的地方,欢迎指出!1、什么是联合?   “联合”是一种特殊的类,也是一种构造类型的数据结构。 在一个“联合”内可以定义多种不同的数据类型, 一个被说明为该“联合”类型的变量中,允许装入该“联

2008-09-24 11:12:00 195

原创 封装WSAEventSelect模型

 #include  #include  #pragma comment(lib,"ws2_32.lib") #pragma once class CAsyncHandler{public:    CAsyncHandler()    {    }    virtual ~CAsyncHandler()    {    }  

2008-09-07 11:03:00 853 2

TCP服务器端+客户端测试工具

TCP服务器端+客户端测试工具 TCP服务器端+客户端测试工具 TCP服务器端+客户端测试工具 TCP服务器端+客户端测试工具

2010-03-15

TCP客户端测试工具

TCP客户端测试工具 TCP客户端测试工具 TCP客户端测试工具 TCP客户端测试工具 TCP客户端测试工具

2010-03-15

TCP服务器测试工具

TCP服务器测试工具, TCP服务器测试工具 TCP服务器测试工具 TCP服务器测试工具

2010-03-15

网络工程C.pdf网络工程C.pdf

网络工程C.pdf网络工程C.pdf

2008-07-30

网络工程A.pdf网络工程A.pdf网络工程A.pdf

网络工程A.pdf网络工程A.pdf网络工程A.pdf

2008-07-30

AJAX开发简略(含续一).pdf

AJAX开发简略(含续一).pdf

2008-07-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除