
C++
pnking
这个作者很懒,什么都没留下…
展开
-
贸易时代的总结(一)--总体设计和登陆服务器
贸易时代的总结 大纲: 项目的历史背景 服务器的设计思路 服务器的技术 服务器的设计 服务器的改进 图形引擎myhoho及UI库的设计 客户端与服务器的集成 在04年暑假的时候,我真正的用心玩了一款网络游戏《航海世纪》,在10月的时候,学校要把毕业设计的题目交上去,就决定自己也做一款网络游戏。当时开始研究网络游戏的设计,整理出一个关转载 2006-09-30 13:26:00 · 1207 阅读 · 0 评论 -
CONST
1、什么是const? 常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。(当然,我们可以偷梁换柱进行更新:)2、为什么引入const? const 推出的初始目的,正是为了取代预编译指令,消除它的缺点,同时继承它的优点。1、什么是const? 常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。(当然,我们可转载 2006-10-06 14:20:00 · 644 阅读 · 0 评论 -
Firewall
//--------------------------------------------------------------------------------------// File: Firewall.cpp//// Demonstrate the use of the XP/SP2 firewall API// It requires the latest Micros转载 2006-11-07 09:26:00 · 986 阅读 · 0 评论 -
如何让你的程序安全通过windows防火墙
大家开发网络程序,经常要连接其他主机,如果在xp上运行,一定会提示你,只有选择解除阻止才能实现正常的网络连接.那么有没有办法在防火墙的例外列表里面通过编程的方式加入自己的程序呢? 当然有了,不然就不要介绍了xp的系统目录下面有个hnetcfg.dll就是这个编程接口,头文件是netfw.h,初始化代码如下:INetFwProfile* m_pFireWallProfile=NULL; HRES转载 2006-11-07 09:27:00 · 1156 阅读 · 0 评论 -
查错 除错 Debugging
加入Sybase不久,一位久未谋面的朋友问我在做什么。我说软件修理工(我在Sybase维护PowerBuilder)。说这话时,我丝毫没有贬低修理工的意思,相反,我从小就羡慕出色的修理工。不响的收音机,他们捣鼓捣鼓就响了;不干活的机器,他们鼓捣鼓捣就干活了。 一名出色的除错(debugging)高手是公司的宝贵财富。有一次,有人问公司的一位高级副总裁:谁是他手下最重要的人。回答是:两名高级转载 2006-11-07 09:25:00 · 1016 阅读 · 0 评论 -
Windows下多线程编程技术及其实现
Windows下多线程编程技术及其实现 本文首先讨论16位Windows下不具备的线程的概念,然后着重讲述在32位Windows 95环境下多线程的编程技术,最后给出利用该技术的一个实例,即基于Windows95下TCP/IP的可视电话的实现。 一、问题的提出 作者最近在开发基于Internet网上的可视电话过程中,碰到了这样一个问题。在基于Internet网上的可视电话系统转载 2006-11-08 16:34:00 · 790 阅读 · 0 评论 -
了解你的兵器---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 · 671 阅读 · 0 评论 -
游戏AI基础
游戏AI(artificial intelligence,人工智能)成为近来讨论较多的主题,这是有充分根据的。随着游戏中画质与音效的稳步提高和改善,游戏控制的玩家(game controlled players)的行动不以“聪明的”方式进行变得越来越明显。比游戏控制的玩家的“聪明”更重要的是他们的愚蠢。多数游戏玩家不期望去运行一款最新的第一人称射击游戏,用射钉枪(nail gun)与莫里亚蒂教授[转载 2006-11-13 10:30:00 · 877 阅读 · 0 评论 -
网络封包分析软件-WildPackets OmniPeek Workgroup Pro
整合AiroPeek无线网络分析及WildPackets EtherPeek有线网络分析,分为企业版、工作站版及个人版等3种版本,可实时撷取网络封包分析,并提供图形统计数据。 WildPackets推出的 OmniPeek Workgroup Pro整合AiroPeek无线网络分析及WildPackets EtherPeek有线网络分析,可实时撷取网络封包,并分析通讯协议、应用程序及网络连接情况等转载 2006-11-15 13:32:00 · 4684 阅读 · 0 评论 -
理解最简单的COM客户
理解最简单的COM客户 要理解COM的最直接方法是通过一个客户应用来考察它。COM编程的目的是为了让客户应用可以得到有用的对象。一旦你理解了客户,要理解服务端就变得非常的简单。相反,同时直接考察服务端和客户端是容易令人迷惑的;如果你首先学习其细节的话,就更加复杂了。因此,我们首先由最简单的定义开始:COM客户是一个使用COM来调用一个COM服务器上的方法的程序。这种客户/服务关系的一个最简单直接转载 2006-11-17 14:21:00 · 1010 阅读 · 0 评论 -
程序员每天该做的事
程序员每天该做的事 1、总结自己一天任务的完成情况 最好的方式是写工作日志,把自己今天完成了什么事情,遇见了什么问题都记录下来,日后翻看好处多多 >> 好记性不如烂笔头。呵呵 2、考虑自己明天应该做的主要工作 把明天要做的事情列出来,并按照优先级排列,第二天应该把自己效率最高的时间分配给最重要的工作 >> WORKLIST。计划很重要啊。 3、考虑自己一转载 2006-11-17 16:44:00 · 872 阅读 · 1 评论 -
Release版程序调试排错技巧
在软件产品的测试过程中,以及发布之后,程序可能会由于一般保护错(GPF)而崩溃。即程序中访问了禁止访问的内存。这时,程序一般情况下无法继续运行,只能结束。 通常,我们遇到这个问题时只能大致地从程序运行(上下文)情况来粗略推断错误,但实际上有更好的解决办法......Release版程序调试技巧环境及工具: windows 9x/2000/xp,VC 6.0(SP6)转载 2006-10-06 14:06:00 · 1060 阅读 · 0 评论 -
C++代码优化方法总结
优化是一个非常大的主题,本文并不是去深入探讨性能分析理论,算法的效率,况且我也没有这个能力。我只是想把一些可以简单的应用到你的C++代码中的优化技术总结在这里,这样,当你遇到几种不同的编程策略的时候,就可以对每种策略的性能进行一个大概的估计。这也是本文的目的之所在。目录: 一. 优化之前 二. 声明的放置 三. 内联函数 四. 优化你的内存使用 五. 速度优化 六. 最后的求助一.转载 2006-10-04 19:57:00 · 617 阅读 · 0 评论 -
类进行文件的 I/O 处理
大多数 C++ 程序员都熟悉不止一个文件 I/O 库。首先是传统的 Unix 风格的库,它由一些低级函数如 read() 和 open()组成。其次是 ANSI C 的 库,它包含 fopen() 和 fread()等函数。其它的还有一些具备所有权的库或框架,比如 MFC,它有很多自己的文件处理类。 这些库一般都很难跨平台使用。更糟的是,上述提到的 C 库由于其程序接口的原因,在很大程度上强制转载 2006-09-29 11:31:00 · 798 阅读 · 0 评论 -
源碼追蹤經驗談
这是 http://www.jjhou.com/article02-2.pdf 的 HTML 档。Google在网路漫游时转载 2006-09-30 14:34:00 · 1929 阅读 · 0 评论 -
程序员四大忌 你该如何避免呢?
一忌:轻易言败,没有自信 没有永不放弃精神的程序员,只是一个有程序员名号的假程序员。一个真正的程序员,知道在程序设计的过程中,可能会遇到不计其数的困难和问题,可能有极多的挫折和失败,而成功只有一次。 就为解决一个问题,我们可能连续十几甚至几十小时的坐在计算机前不停的工作。一个问题解决了,可能又有其它的问题出现。而你要是不能坚持下来,可能从前的一切努力都流失了。轻易言败的人请不要做程序员转载 2006-09-30 14:42:00 · 547 阅读 · 0 评论 -
C++ Style and Technique
C++ Style and Technique FAQ (中文版)Bjarne Stroustrup 著, 紫云英 译 [注: 本访谈录之译文经Stroustrup博士授权。如要转载,请和我联系: zmelody@sohu.com ] Q: 这个简单的程序……我如何把它搞定?A: 常常有人问我一些简单的程序该如何写,这在学期之初时尤甚。一个典型的问题是:如何读入一些数字,做翻译 2006-09-30 16:01:00 · 1282 阅读 · 1 评论 -
C++内存对象大会战
如果一个人自称为程序高手,却对内存一无所知,那么我可以告诉你,他一定在吹牛。用C或C++写程序,需要更多地关注内存,这不仅仅是因为内存的分配是否合理直接影响着程序的效率和性能,更为主要的是,当我们操作内存的时候一不小心就会出现问题,而且很多时候,这些问题都是不易发觉的,比如内存泄漏,比如悬挂指针。笔者今天在这里并不是要讨论如何避免这些问题,而是想从另外一个角度来认识C++内存对象。 我们知道,转载 2006-09-30 16:18:00 · 561 阅读 · 0 评论 -
如何检测vc的内存泄漏
幸运的是,Visual Studio 调试器和 C 运行时 (CRT) 库为我们提供了检测和识别内存泄漏的有效方法。下面请和我一起分享收获——如何使用 CRT 调试功能来检测内存泄漏?一、如何启用内存泄漏检测机制 VC++ IDE 的默认状态是没有启用内存泄漏检测机制的,也就是说即使某段代码有内存泄漏,调试会话的 Output 窗口的 Debug 页不会输出有关内存泄漏信息。你必须设定两个最基本转载 2006-09-30 16:23:00 · 1231 阅读 · 0 评论 -
踏入C++中的雷区——C++内存管理详解
伟大的Bill Gates 曾经失言: 640K ought to be enough for everybody— Bill Gates 1981 程序员们经常编写内存管理程序,往往提心吊胆。如果不想触雷,唯一的解决办法就是发现所有潜伏的地雷并且排除它们,躲是躲不了的。本文的内容比一般教科书的要深入得多,读者需细心阅读,做到真正地通晓内存管理。 1、内存分配方式 内存分配方式有三种:转载 2006-09-30 16:28:00 · 771 阅读 · 0 评论 -
内存泄漏检测
简介具有动态的分配和释放内存的能力是C/C++程序语言的重要特色之一,但是中国的哲人孙子指出,最强有力的也是最脆弱的。对C/C++应用程序来说这当然是正确的,内存管理错误通常是bug起源之一。非常微妙且难于检测的bug之一就是内存泄漏——不能正确地去分配已经分配了的内存。一个仅仅发生一次的轻微内存泄漏不可能引起注意,但是泄漏了大量内存或者日益增多的泄漏的程序可能表现出征兆,从可怜的(和慢慢地减转载 2006-09-30 16:31:00 · 1083 阅读 · 0 评论 -
如何对算法进行测试
1、正确性一个好的算法必需能够正确的执行要求的功能和性能要求。这要求我们对一个算法进行功能测试和性能测试。2、可用性一个好的算法能够很方便的使用。测试算法是否具有良好的界面、完备的文档。要求算法的输入和输出都良好的接口,一个算法只完成一个特定的功能与其它模块的藕合尽量少。3、可读性一个好的算法应该具有很好的可读性。这样有利于理解、测试。要测试算法逻辑是否清晰、简单、结构化是否好转载 2006-09-30 16:32:00 · 13392 阅读 · 1 评论 -
理解new和delete
人们有时好像喜欢故意使C++语言的术语难以理解。比如说new操作符(new operator)和operator new的区别。 当你写这样的代码:string *ps = new string("Memory Management"); 你使用的new是new操作符。这个操作符就象sizeof一样是语言内置的,你不能改变它的含义,它的功能总是一样的。它要完成的功能分成两部分。转载 2006-09-29 10:17:00 · 1196 阅读 · 1 评论 -
处理在NTDll中意外的用户断点
除虫记之十二:费解的NTDLL断点 处理在NTDll中意外的用户断点很久没有写东西了,这次是为了完善很久很久以前写的一个培训ppt(VC的使用与调试技巧),才想起来写点东西的。下面的文章参考了http://www.debuginfo.com/tips/userbpntdll.html,但不是翻译,偶英语太烂了。我们在调试程序的过程中,有时会突然的显示一个对话框,上面显示这样一条信息:Use转载 2006-09-29 16:12:00 · 1245 阅读 · 0 评论 -
C++学习:在C++中创建持久对象
持久对象(persistent objects)广泛应用于游戏、分布式数据库系统、多媒体以及图形应用程序中。目前C++并不直接支持持久性(persistence)(但有一些在C++未来版本中添加持久性和反射(reflection)的建议)。持久对象可以在创建它的程序的作用域之外保持自身状态。把对象写入一个文件并在以后重建之,或者把对象传送到一台远程机器,就是这样的例子。对持久性的支持并不象第一眼看转载 2006-12-08 09:25:00 · 772 阅读 · 0 评论