自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

pnking的专栏

我的人生路

  • 博客(42)
  • 资源 (1)
  • 收藏
  • 关注

原创 随笔

今天不知道为何起的很早,但是我希望可以慢慢习惯起的很早的感觉.今天早上翻开>,慢慢的从第一页开始看起,花了一点时间把第一张看完了,让我开始有兴趣继续读下去.因为在读第一张的过程中,我感觉我原来写代码的时候从没有有那样的想法.之前以为要想有高效的代码只有把C++的代码写成汇编才能到达,后来在工作的期间也一直在学习汇编.但是当我读完这边书后,我完全改变了这样的想法,C++也可以写出非常接近与汇编效

2007-05-22 10:30:00 623

转载 基于win平台的高性能服务器底层通信模型设计(1)

本文作者:sodme本文出处:http://blog.csdn.net/sodme声明:本文可以不经作者同意任意转载,但请保留文章开始前的作者、出处及声明信息。谢谢。  由于个人工作的关系,接触高性能服务器的研发已经有一段时间了,在没有接触这个话题之前,我也和许多人一样,认为服务器的设计无非就是用一下winsock,调用调用函数那么简单。当亲自完成了一个在win平台上能承载上万连接的测试模型后

2007-03-09 10:42:00 766

转载 FAQ - Multiplayer and Network Programming

http://www.gamedev.net/community/forums/showfaq.asp?forum_id=15 

2007-03-04 11:16:00 684

原创 游戏架构设计

游戏架构设计 http://dev.gameres.com/Program/Abstract/Thinking/online_g_1_2.htmhttp://dev.gameres.com/Program/Abstract/Thinking/online_g_3.htmhttp://dev.gameres.com/Program/Abstract/Thinking/online_g_4.htm

2007-03-04 11:15:00 765

转载 Unix和Windows跨系统通讯编程

[文章信息] 作者: 张勤 李华春 时间: 2003-05-24

2007-02-11 01:18:00 877

转载 文本处理的三种典型设计模式

文本处理的三种典型设计模式许式伟2004-10-27事件驱动:Parse-Handler模型(如:xml之SAX模型)该模型主要有Parser和Handler两个组件。其原型大体如下:class xxxHandler{public:   // any event sended from Parser   ...};class xxxParser{public:   xxxxPa

2007-01-09 09:53:00 998

转载 C++学习:在C++中创建持久对象

持久对象(persistent objects)广泛应用于游戏、分布式数据库系统、多媒体以及图形应用程序中。目前C++并不直接支持持久性(persistence)(但有一些在C++未来版本中添加持久性和反射(reflection)的建议)。持久对象可以在创建它的程序的作用域之外保持自身状态。把对象写入一个文件并在以后重建之,或者把对象传送到一台远程机器,就是这样的例子。对持久性的支持并不象第一眼看

2006-12-08 09:25:00 704

转载 Using Lua with C++: A short tutorial

Using Lua with C++: A short tutorial Written by Christian Stigen Larsen [email protected]>  Using Lua is easy! In this short tutorial well show how to write a fully working host-program i

2006-11-29 10:00:00 867

转载 程序员每天该做的事

程序员每天该做的事 1、总结自己一天任务的完成情况 最好的方式是写工作日志,把自己今天完成了什么事情,遇见了什么问题都记录下来,日后翻看好处多多 >> 好记性不如烂笔头。呵呵 2、考虑自己明天应该做的主要工作 把明天要做的事情列出来,并按照优先级排列,第二天应该把自己效率最高的时间分配给最重要的工作 >> WORKLIST。计划很重要啊。 3、考虑自己一

2006-11-17 16:44:00 832 1

转载 理解最简单的COM客户

理解最简单的COM客户  要理解COM的最直接方法是通过一个客户应用来考察它。COM编程的目的是为了让客户应用可以得到有用的对象。一旦你理解了客户,要理解服务端就变得非常的简单。相反,同时直接考察服务端和客户端是容易令人迷惑的;如果你首先学习其细节的话,就更加复杂了。因此,我们首先由最简单的定义开始:COM客户是一个使用COM来调用一个COM服务器上的方法的程序。这种客户/服务关系的一个最简单直接

2006-11-17 14:21:00 949

转载 了解你的兵器---VS2005 快捷键

Shift+Alt+Enter: 切换全屏编辑Ctrl+B,T / Ctrl+K,K: 切换书签开关Ctrl+B,N / Ctrl+K,N: 移动到下一书签 Ctrl+B,P: 移动到上一书签 Ctrl+B,C: 清除全部标签Ctrl+I: 渐进式搜索 Ctrl+Shift+I: 反向渐进式搜索 Ctrl+F: 查找 Ctrl+Shift+F: 在文件中查找 F3: 查找下一个 Shift+F3:

2006-11-15 14:08:00 645

转载 网络封包分析软件-WildPackets OmniPeek Workgroup Pro

整合AiroPeek无线网络分析及WildPackets EtherPeek有线网络分析,分为企业版、工作站版及个人版等3种版本,可实时撷取网络封包分析,并提供图形统计数据。 WildPackets推出的 OmniPeek Workgroup Pro整合AiroPeek无线网络分析及WildPackets EtherPeek有线网络分析,可实时撷取网络封包,并分析通讯协议、应用程序及网络连接情况等

2006-11-15 13:32:00 4545

转载 游戏AI基础

游戏AI(artificial intelligence,人工智能)成为近来讨论较多的主题,这是有充分根据的。随着游戏中画质与音效的稳步提高和改善,游戏控制的玩家(game controlled players)的行动不以“聪明的”方式进行变得越来越明显。比游戏控制的玩家的“聪明”更重要的是他们的愚蠢。多数游戏玩家不期望去运行一款最新的第一人称射击游戏,用射钉枪(nail gun)与莫里亚蒂教授[

2006-11-13 10:30:00 839

转载 Windows下多线程编程技术及其实现

Windows下多线程编程技术及其实现  本文首先讨论16位Windows下不具备的线程的概念,然后着重讲述在32位Windows 95环境下多线程的编程技术,最后给出利用该技术的一个实例,即基于Windows95下TCP/IP的可视电话的实现。   一、问题的提出   作者最近在开发基于Internet网上的可视电话过程中,碰到了这样一个问题。在基于Internet网上的可视电话系统

2006-11-08 16:34:00 742

转载 如何让你的程序安全通过windows防火墙

大家开发网络程序,经常要连接其他主机,如果在xp上运行,一定会提示你,只有选择解除阻止才能实现正常的网络连接.那么有没有办法在防火墙的例外列表里面通过编程的方式加入自己的程序呢? 当然有了,不然就不要介绍了xp的系统目录下面有个hnetcfg.dll就是这个编程接口,头文件是netfw.h,初始化代码如下:INetFwProfile* m_pFireWallProfile=NULL; HRES

2006-11-07 09:27:00 1099

转载 Firewall

//--------------------------------------------------------------------------------------// File: Firewall.cpp//// Demonstrate the use of the XP/SP2 firewall API// It requires the latest Micros

2006-11-07 09:26:00 952

转载 查错 除错 Debugging

加入Sybase不久,一位久未谋面的朋友问我在做什么。我说软件修理工(我在Sybase维护PowerBuilder)。说这话时,我丝毫没有贬低修理工的意思,相反,我从小就羡慕出色的修理工。不响的收音机,他们捣鼓捣鼓就响了;不干活的机器,他们鼓捣鼓捣就干活了。 一名出色的除错(debugging)高手是公司的宝贵财富。有一次,有人问公司的一位高级副总裁:谁是他手下最重要的人。回答是:两名高级

2006-11-07 09:25:00 946

原创 学英文

在放假之前,为了让自己可以充实一点,买了本汇编的书,在看书的过程中,也在网上找了许多相关的资料,后来不知道怎么得,突然有种想学学英文的一种冲动(原来上学的时候看到英文就想睡觉,可能那个时候不知道学英语的目的没怎么明确吧),现在有一个目标,也就有动力了,给自己定的目标就是,每天背10个单词,只要能坚持,3个月后,我想翻译一些技术文章,不要太长短短的。然后发到自己的blog上 

2006-10-07 11:24:00 644

原创 看书

放假了,心也平静下来了,休息的这几天,每天都抱这2本书换着看,一本是刚刚出的C++ PRIMER 第四版,一本是汇编(上学的时候很用心的看过,那时候看完了也不知道在什么地方可以发挥)。我在看C++这本书的时候,看到第二章节,讲到内置类型在内存中所占的空间(在内存中最小单位是字节大小)书上讲的让我感到一点点困惑,所以今天去英文网站上找了点资料。Fundamental data types

2006-10-07 11:15:00 630

转载 CONST

1、什么是const?   常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。(当然,我们可以偷梁换柱进行更新:)2、为什么引入const?  const 推出的初始目的,正是为了取代预编译指令,消除它的缺点,同时继承它的优点。1、什么是const?   常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。(当然,我们可

2006-10-06 14:20:00 609

转载 Release版程序调试排错技巧

在软件产品的测试过程中,以及发布之后,程序可能会由于一般保护错(GPF)而崩溃。即程序中访问了禁止访问的内存。这时,程序一般情况下无法继续运行,只能结束。        通常,我们遇到这个问题时只能大致地从程序运行(上下文)情况来粗略推断错误,但实际上有更好的解决办法......Release版程序调试技巧环境及工具:    windows 9x/2000/xp,VC 6.0(SP6) 

2006-10-06 14:06:00 1011

转载 C++游戏程序优化

目 录  1 构造与析构  2 内存管理  3 虚函数  4 代码尺寸  5 标准类库  6 高级特性  7 其他参考    原 文:Optimlzation for C++ Games - Game Programming Gems II  译 者:carvenson  一般而言,比起C程序来说,C++游戏程序是可重用和可维护的。可这真的有价值吗?复杂的C++可以在速度上与传统的C程

2006-10-04 19:58:00 1405

转载 C++代码优化方法总结

 优化是一个非常大的主题,本文并不是去深入探讨性能分析理论,算法的效率,况且我也没有这个能力。我只是想把一些可以简单的应用到你的C++代码中的优化技术总结在这里,这样,当你遇到几种不同的编程策略的时候,就可以对每种策略的性能进行一个大概的估计。这也是本文的目的之所在。目录:  一. 优化之前  二. 声明的放置  三. 内联函数  四. 优化你的内存使用  五. 速度优化  六. 最后的求助一.

2006-10-04 19:57:00 579

转载 网络游戏制作技术(五)

 线程同步和服务器数据保护最近因为自己主持的项目出现些问题,太忙了,所以好久都没有继续写东西和大家进行探讨制作开发部分了。在这一节中就要向大家介绍另外一个重要的部分,并且也是最头疼的部分:线程同步和数据保护。关于线程的概念我在前面的章节中已经介绍过了,也就在这里不累赘—“重复再重复”了。有一定线程基础的人都知道,线程只要创建后就如同脱缰的野马,对于这样的一匹野马我们怎么来进行控制和处理

2006-09-30 16:53:00 864

转载 网络游戏制作技术(六)

 场景管理之消息发送    好久没有写东西出来和大家共同揣摩,真是对不住大家了。现在终于腾了一些时间来继续和大家研究网络游戏制作技术,在这一节中,我就要向大家介绍网络游戏服务器中World场景划分和场景中消息分发问题。    在前面我基本向大家讲述的都是一些基本的技术问题,从某种意义上讲。属于纯技术范畴的东西,但现在要向大家讲的,应该是属于服务器功能设计范畴的。在这里,我未必讲的很好,

2006-09-30 16:53:00 928

转载 网络游戏制作技术(三)

 线程池处理部分续上在这里我将要向大家简单介绍一下游戏服务器中必须要处理另外一项主要技术:线程池技术开始 我来向大家简单来介绍一下线程池的概念,先简单了解下线程先,线程可以理解为一个function , 是一个为了进行某一项任务或者处理某一项具体事务的函数。例如:UINT  WINAPI  FunctionCtrl(void *)              //线程处理函数{ 

2006-09-30 16:52:00 735

转载 网络游戏制作技术(四)

 服务器程序设计部分续上在这里我将要向大家简单介绍一下游戏服务器中必须要处理另外一项主要技术:内存分配处理技术也可以称为内存池处理技术(这个比较洋气,前面通俗的好,呵呵)开始向大家介绍一般情况下我们对于内存的一些基本操作。简单而言,内存操作就只有三个步骤:申请、使用、销毁。而对于这些操作我们在C和C++中的处理方式略有不同:在C中我们一般用malloc(….)函数来进行申请,而对应

2006-09-30 16:52:00 1036

转载 网络游戏制作技术(一)

当今网络游戏在中国大陆已经在大范围的蔓延,暂且不论这样的一种趋势会带来什么样的游戏产业趋势。这里只就网络游戏的制作和大家进行交流,同时将自己的制作经验写处理,希望为中国的游戏业的发展做出一点点的贡献。。   网络游戏的程序开发从某种意义上来看,最重要的应该在于游戏服务器端的设计和制作。对于服务器端的制作。将分为以下几个模块进行: 1.网络通信模块2.协议模块3.线程池模块4.内存管理模块5

2006-09-30 16:51:00 1957

转载 网络游戏制作技术(二)

消息打包处理部分续上在上面我简单的说了一下服务器完成端口处理部分,接下来我想大家介绍一下关于如何建立服务器和客户端的联系规则,也就是服务器和客户端的游戏协议部分。有不足之处希望大家和我进行交流。首先解释一下这里协议的概念,协议大家都了解是一种通信规则,例如:TCP/IP,UDP等等,这些是我们在网络通信过程中所处理使用的协议。而我们这里的协议是我们的游戏服务器和客户端的通信规则。简而言之,

2006-09-30 16:51:00 1237

转载 如何对算法进行测试

1、正确性一个好的算法必需能够正确的执行要求的功能和性能要求。这要求我们对一个算法进行功能测试和性能测试。2、可用性一个好的算法能够很方便的使用。测试算法是否具有良好的界面、完备的文档。要求算法的输入和输出都良好的接口,一个算法只完成一个特定的功能与其它模块的藕合尽量少。3、可读性一个好的算法应该具有很好的可读性。这样有利于理解、测试。要测试算法逻辑是否清晰、简单、结构化是否好

2006-09-30 16:32:00 13083 1

转载 内存泄漏检测

简介具有动态的分配和释放内存的能力是C/C++程序语言的重要特色之一,但是中国的哲人孙子指出,最强有力的也是最脆弱的。对C/C++应用程序来说这当然是正确的,内存管理错误通常是bug起源之一。非常微妙且难于检测的bug之一就是内存泄漏——不能正确地去分配已经分配了的内存。一个仅仅发生一次的轻微内存泄漏不可能引起注意,但是泄漏了大量内存或者日益增多的泄漏的程序可能表现出征兆,从可怜的(和慢慢地减

2006-09-30 16:31:00 1046

转载 踏入C++中的雷区——C++内存管理详解

伟大的Bill Gates 曾经失言:  640K ought to be enough for everybody— Bill Gates 1981   程序员们经常编写内存管理程序,往往提心吊胆。如果不想触雷,唯一的解决办法就是发现所有潜伏的地雷并且排除它们,躲是躲不了的。本文的内容比一般教科书的要深入得多,读者需细心阅读,做到真正地通晓内存管理。  1、内存分配方式  内存分配方式有三种: 

2006-09-30 16:28:00 731

转载 如何检测vc的内存泄漏

幸运的是,Visual Studio 调试器和 C 运行时 (CRT) 库为我们提供了检测和识别内存泄漏的有效方法。下面请和我一起分享收获——如何使用 CRT 调试功能来检测内存泄漏?一、如何启用内存泄漏检测机制  VC++ IDE 的默认状态是没有启用内存泄漏检测机制的,也就是说即使某段代码有内存泄漏,调试会话的 Output 窗口的 Debug 页不会输出有关内存泄漏信息。你必须设定两个最基本

2006-09-30 16:23:00 1187

转载 C++内存对象大会战

如果一个人自称为程序高手,却对内存一无所知,那么我可以告诉你,他一定在吹牛。用C或C++写程序,需要更多地关注内存,这不仅仅是因为内存的分配是否合理直接影响着程序的效率和性能,更为主要的是,当我们操作内存的时候一不小心就会出现问题,而且很多时候,这些问题都是不易发觉的,比如内存泄漏,比如悬挂指针。笔者今天在这里并不是要讨论如何避免这些问题,而是想从另外一个角度来认识C++内存对象。   我们知道,

2006-09-30 16:18:00 528

翻译 C++ Style and Technique

C++ Style and Technique FAQ (中文版)Bjarne Stroustrup 著, 紫云英 译 [注: 本访谈录之译文经Stroustrup博士授权。如要转载,请和我联系: [email protected] ] Q: 这个简单的程序……我如何把它搞定?A: 常常有人问我一些简单的程序该如何写,这在学期之初时尤甚。一个典型的问题是:如何读入一些数字,做

2006-09-30 16:01:00 1214 1

转载 程序员四大忌 你该如何避免呢?

一忌:轻易言败,没有自信  没有永不放弃精神的程序员,只是一个有程序员名号的假程序员。一个真正的程序员,知道在程序设计的过程中,可能会遇到不计其数的困难和问题,可能有极多的挫折和失败,而成功只有一次。  就为解决一个问题,我们可能连续十几甚至几十小时的坐在计算机前不停的工作。一个问题解决了,可能又有其它的问题出现。而你要是不能坚持下来,可能从前的一切努力都流失了。轻易言败的人请不要做程序员

2006-09-30 14:42:00 519

转载 源碼追蹤經驗談

  这是 http://www.jjhou.com/article02-2.pdf 的 HTML 档。Google在网路漫游时

2006-09-30 14:34:00 1860

转载 理解I/O Completion Port

理解I/O Completion Port    nonocast(原作)欢迎阅读此篇IOCP教程。我将先给出IOCP的定义然后给出它的实现方法,最后剖析一个Echo程序来为您拨开IOCP的谜云,除去你心中对IOCP的烦恼。OK,但我不能保证你明白IOCP的一切,但我会尽我最大的努力。以下是我会在这篇文章中提到的相关技术:I/O端口同步/异步堵塞/非堵塞服务端/客户端多线程程序设计Winsoc

2006-09-30 14:07:00 622

转载 贸易时代的总结(一)--总体设计和登陆服务器

 贸易时代的总结 大纲: 项目的历史背景 服务器的设计思路 服务器的技术 服务器的设计 服务器的改进 图形引擎myhoho及UI库的设计 客户端与服务器的集成     在04年暑假的时候,我真正的用心玩了一款网络游戏《航海世纪》,在10月的时候,学校要把毕业设计的题目交上去,就决定自己也做一款网络游戏。当时开始研究网络游戏的设计,整理出一个关

2006-09-30 13:26:00 1166

转载 处理在NTDll中意外的用户断点

除虫记之十二:费解的NTDLL断点 处理在NTDll中意外的用户断点很久没有写东西了,这次是为了完善很久很久以前写的一个培训ppt(VC的使用与调试技巧),才想起来写点东西的。下面的文章参考了http://www.debuginfo.com/tips/userbpntdll.html,但不是翻译,偶英语太烂了。我们在调试程序的过程中,有时会突然的显示一个对话框,上面显示这样一条信息:Use

2006-09-29 16:12:00 1187

深入浅实战XML第二版.rar

实战XML第二版.rar

2007-05-08

空空如也

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

TA关注的人

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