自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (9)
  • 收藏
  • 关注

原创 enum用法小记

     enum是大家都比较喜欢用的一种结构,有助提供清晰的逻辑,有点技巧能使其更有用。 enum em { a =0, b, c, NONE = 0xffffffff }   以前经常看到这样的代码,不知其最后的NONE也何用,今天实际碰到时,才知道是多么美妙的技巧啊。 一般的,用int i = b; 这样的写法,肯定是没问题

2009-11-27 03:20:00 4374 1

原创 vc的增量编译问题

  vc的增量编译真是什么情况都会发生,往往各种意想不到的情况都是尤其引起的,今天下午还碰到一个极端搞笑的。 我在类里设置了一个map的成员变量,在类的构造函数中给他初始化并插入了不少元素,但是在实际的函数中对其调用的时候,却显示map为空,可是map显然不可能为空啊,没有任何操作会导致其为空,甚至通过在及时窗口中打this来查看其内存地址,在具体函数调用到时也查看了内存地址,都没有错,只是里

2009-11-27 03:08:00 3565 3

转载 map的一种替代方案,不会自动排序

  看来只有用vector   >了    ...     #include       #include       #include           int   main(int   argc,   char**   argv)     {     using   namespace   std;     typedef   pair     spair__;     typede

2009-11-26 11:07:00 1812

转载 SpeedTree学习笔记(转)

http://www.sixwater.com.cn/article.asp?id=28最近拿到SpeedTree资料,开始学习,并用到项目里去.1.  该插件的特点:api无关。它本身只是数据结构和逻辑架构,没有任何渲染语句子,因此为了把它应用到自己的引擎里,需要为之添加渲染相关的语句。而根据sdk的讲解,推荐用户为之搭建中间架构,用来联系SPEEDTREE与自己的引擎。这样做起码有两点

2009-11-26 10:48:00 4444 1

原创 我的编程原则(想到就写)

 1.在写字符串时,不要为了程序的兼容性写_T("text")什么的,浪费时间打断思路,事后通过正则表达式一替换就行了,快速又准确。 2.写代码时不优化,事后通过分析器检查,优化核心代码。 3.代码的清晰是第一位的,毕竟无尽的是维护,所以有的时候为了清晰性,可以牺牲效率和内存。 4.除非在确定需要或有用的状态下,在容器里存放对象的指针。 5.设计的时候,先要想一想,

2009-11-25 17:07:00 645

原创 delete掉一个对象,对象内的成员变量死亡模式

 当delete掉一个对象时,对象内部可能有不同的变量: 指针 (无论指向什么) 字符串常量 数值常量  这些在栈中创建的对象,如数值常量和字符串常量,会被释放内存,什么都不会剩下。 但指针,作为一个变量,他所占用的4个字节会被释放,但是他所指向的东西却不会有丝毫影响。 所以,在这种情况下,使用装饰者模式,是很简单并且没有多大开销的,也不需要很担心指针。

2009-11-24 17:15:00 1469

转载 关于D3D中AGP显存,内存,显存三种内存的解释

 http://bbs.gameres.com/showthread.asp?threadid=57428 摘录如下: 三种内存AGP内存,显卡本地内存,系统内存,其中我们都知道显卡本地内存就是显存,系统内存就是咱那内存条,那这AGP内存是个啥玩意啊?其实是因为在以前显卡内存都很小,那时还是在显存是16M,32M为主流的时候,如果你运行一个需要很多纹理的3D程序,那么显存一会就

2009-11-19 01:12:00 1115 1

转载 The Standard Librarian: What Are Allocators Good For?

 The Standard Librarian: What Are Allocators Good For?Matt Austernhttp://www.cuj.com/experts/1812/austern.htm?topic=experts-----------------------------------------------------------------------

2009-11-15 14:07:00 487

转载 A Custom Block Allocator for Speeding Up VC++ STL

 http://www.codeproject.com/KB/stl/blockallocator.aspxDownload source files - 6.1 KBIntroductionblock_allocator is a custom STL allocator for use with STL as implemented in Microsoft VC++.

2009-11-15 03:23:00 637

转载 Checked Iterators

 http://www.codeproject.com/KB/stl/checkediterators.aspx vc8默认在debug下和release下都打开这个选项,导致stl的效率大幅降低,通常情况下,应该在debug的时候使用checked模式,在release下关闭掉他。IntroductionChecked iterators are something I ha

2009-11-15 03:15:00 1076

转载 一个stlport 与vs自带stl的生动事例

 Development - STLPort versus Microsoft STL performanceThe product I work on uses STL in quite an aggressive way and also it permeates all of the source code, so any change to the performance of

2009-11-15 02:41:00 1225

转载 Visual Studio 2005 一些搬迁注意事项

   Since Ive been using Visual Studio.NET 2005 I have discovered a myriad of undocumented (or documented in such a way as to seem inoccuous) breaks in the compilation of most code.Standard C

2009-11-15 02:39:00 1005

转载 细说字体 Sans Serif 与 Serif

 http://yx.takeback.net/121/serif-font.html拜读了 LGJ Font Notes 的 Serif VS. Sans Serif 注1 一文,顿时胸中豁然开朗,终于明白了什么是Sans Serif字体,什么是Serif字体,什么地方应该使用Sans Serif字体,什么地方又应该使用Serif字体。这些问题,不管是对Web Designer还是普通用

2009-11-15 00:28:00 1126

原创 提升vc编译,链接速度

 提升vc的链接速度在庞大的工程是很有用的。以下要点:1.设计的时候要注意抽象层次,比如一个对象不应该知道太多的其他对象,如果这里面很复杂混乱,那就应该分解他们,或者使用另外的机制,类似事件传递来达到类似的目的。 2.把工程分解成dll,这样能显著提高链接速度。 3.使用预编译头文件,把不常修改的文件放到预编译头文件中显然是很有用的,但是经常改变的就算了,否则更慢....

2009-11-09 19:53:00 3998 1

翻译 Improving link time with IncrediBuild,减少联合编译器的链接是时间

重点:不要用/LTCG将debug信息设为/z7  IncrediBuild may, in some cases, take longerthan Visual Studio to execute the link phase. This is related to thefact that IncrediBuild generates multiple PDB and

2009-11-09 19:33:00 2553

转载 INCREMENTAL(增量链接)

 /INCREMENTAL(增量链接) /INCREMENTAL[:NO]  备注 /INCREMENTAL 选项控制链接器如何处理增量链接。默认情况下,链接器以增量模式运行。若要重写默认增量链接,请指定 /INCREMENTAL:NO。增量链接的程

2009-11-09 18:18:00 4367

转载 #pragma comment

 注释 pragma 可以允许用户在目标文件或可执行文件中插入注释。lib 指定符允许用户向链接器传递该注释,以在使用对象模块时指定其它的链接库。有些用户使用 lib 注释 pragma 以添加链接器选项和库名,例如: #pragma comment(lib, "MSVCRT -VERBOSE")这是不行的,可以这样来制定链接器选项:#pragma commen

2009-11-09 13:13:00 1587

转载 美剧中的英文粗语脏话知多少?

 一.优雅骂人1. Stop complaining! 别发牢骚!2. You make me sick! 你真让我恶心!3. What’s wrong with you? 你怎么回事?4. You shouldn’t have done that! 你真不应该那样做!看美国影片必须了解的英文粗语脏话5. You’re

2009-11-07 23:22:00 2233

原创 vs 工程目录设置等等

 测试一个proj的链接库是否正确是,没必要清除掉重新编译,只需删掉DLL文件就可以了,这样的话那些obj都在,链接就行。生成后事件: 生成后事件,它的定义是在具体project文件的,所以用到的宏应该要以project为单位,因为你不知道这个project会被包含进不同的solution,所以不应该使用类似$SolutionDir这样的宏,使用$ProjectDir就比较保险

2009-11-07 12:42:00 8898 1

转载 Unicode详解(UTF-8,UTF16,UCS

  转载于http://tech.idv2.com/2008/02/21/unicode-intro/ 原作者charleeUnicode详解可能大家都听说过 Unicode、UCS-2、UTF-8 等等词汇,但它们具体是什么意思,是什么原理,之间有什么关系,恐怕就很少有人明白了。下面就分别介绍一下它们。基本知识字节和字符的区别Big Endian和Little

2009-11-06 23:16:00 3094

转载 又一篇unicode ,ansi ,utf8

 今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料。结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步搞清楚。下面就是我的笔记,主要用来整理自己的思路。但是,我尽量试图写得通俗易懂,希望能对其他朋友有用。毕竟,字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得一点字符编码的知识。1. ASCII码我们知道,在计算机内部,

2009-11-06 22:50:00 679

转载 Unicode,GBK,GB2312,UTF-8概念基础

 本部分采用重用,转载一篇文章来完成这部分的目标。来源:holenblog   对字符编码与Unicode,ISO 10646,UCS,UTF8,UTF16,GBK,GB2312的理解地址:http://blog.donews.com/holen/archive/2004/11/30/188182.aspx Unicode: unicode.org制定的编码机制, 要将全世界

2009-11-06 22:38:00 756

转载 关于unicode和utf8,utf16等

经常有人谈起……我如何把gb或unicode字符串转化成utf8字符串?这类的问题    这里按照自己的理解简要说明一下       unicode是字符编码的一个标准,这个和GB2312或者BG5等是对应的,但是unicode又有些比较高级的特殊性,unicode的编码是固定的,但是表示这个编码的形式是多种多样的,比如一个字符的unicode编码是0xABCD,可以有各种形式来表示这个0xABC

2009-11-06 21:30:00 851

转载 谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词

这是一篇程序员写给程序员的趣味读物。所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级。整理这篇文章的动机是两个问题:问题一: 使用Windows记事本的“另存为”,可以在GBK、Unicode、Unicode big endian和UTF-8这几种编码方式间相互转换。同样是txt文件,Windows是怎样识别编码方式的呢?我

2009-11-06 20:34:00 550

转载 ansi编码

 为使计算机支持更多语言,通常使用 0x80~0xFF 范围的 2 个字节来表示 1 个字符。比如:汉字 中 在中文操作系统中,使用 [0xD6,0xD0] 这两个字节存储。   不同的国家和地区制定了不同的标准,由此产生了 GB2312, BIG5, JIS 等各自的编码标准。这些使用 2 个字节来代表一个字符的各种汉字延伸编码方式,称为 ANSI 编码。在简体中文系统下,ANSI 编码

2009-11-06 20:17:00 538

原创 RAII -- Resource Acquisition Is Initialization

 RAII,资源获取即初始化。这个东西本不是什么高深的东西,日常写代码时也经常用到,其实就是将资源与对象的生命周期绑定,具体的做法就是在构造函数中初始话资源,在析构函数中释放资源,这样使用这个对象的时候甚至无需手动对其进行任何内存操作,从而保证内存不会泄露。wiki的一段:Resource Acquisition Is Initialization, often referred to by

2009-11-06 16:59:00 821

转载 fstream不支持中文文件名的问题

所谓不支持中文文件名就是无法“读,写”含有中文的文件。 stream流就是这么锁,无论如何一定不能忘记指定。   保存为中文文件名时发生了乱码.ofstream of(szFilename);ofof.close();解决方法1、使用C语言的函数设置为中文运行环境setlocale(LC_ALL,"");2、使用STL函数设置为系统语言环境std::locale::gl

2009-11-06 16:56:00 1394

转载 关闭 C4996 警告(_CRT_SECURE_NO_DEPRECATE)

 在使用VC 2005 的开发者会遇到这样的问题,在使用std命名空间库函数的时候,往往会出现类似于下面的警告:warning C4996: strcpy was declared deprecated 出现这样的警告,是因为VC2005中认为CRT中的一组函数如果使用不当,可能会产生诸如内存泄露、缓冲区溢出、非法访问等安全问题。这些函数如:strcpy、strcat等。 对于

2009-11-04 21:29:00 6685 1

原创 vs中在查找替换中使用正则表达式

 在写程序时,如果一开始没有考虑到可移植性,把字符串都写成了: "hello,world!"到了后面,想把大量的这里字符串替换成: _T"hello,world!"这该如何是好呢,作为一个合格的程序员,请不要一个个的改,不然会被人鄙视的...而在vs中,提供了简单解决这玩意的方法,事实上也不简单,我查了一个小时才学会的。关键就是正则表达式,关于正则表达式,以下有一篇很好的正

2009-11-04 17:10:00 12497 2

原创 32位version类, 结合匿名struct

 一般version都是由4个部分表示,简单的可以用一个4个byte的struct来表示: struct Version32{ union { struct  { BYTE v0; BYTE v1; BYTE v2; BYTE v3; }; DWORD ver; //union结合这个DWORD使程序变的异常清晰

2009-11-02 20:45:00 970

原创 时间简单处理

// time since 1971 1/1 00:00 time_t ti = time(NULL);//transform it as local tm* t = localtime(&ti);//format itstrftime(&buff, MAX_PATH, "[%m/%d/%y %H:%M:%S] ", t); and the buff contains

2009-11-02 20:20:00 606

原创 cpuid & systemInfo & osVersion

cpuid:这玩意的关键在于cpuid这个汇编指令,通过给eax设置不同的值,然后调用cpuid能获取当前cpu的不同的属性,具体的,msdn竟然给出了一个完整的例子,这例子使用c++结合win32汇编的方式,并且完全实用。 systemInfo 直接调win32函数:SYSTEM_INFO sysInfo;GetSystemInfo(&sysInfo); OS

2009-11-02 20:02:00 829

转载 How To Get Hardware Information (CPU ID, MainBoard Info, Hard Disk Serial, System Information , ...)

http://www.codeproject.com/KB/system/GetHardwareInformation.aspx Download source code - 15.9 KBDownload project demo - 14.6 KBIntroductionFor numerous reasons, you may need to access

2009-11-02 19:41:00 2461

转载 如何获取某个动态链接库的版本信息,exe 版本信息

 http://www.vckbase.com/document/viewdoc/?id=1642 如何获取某个动态链接库的版本信息原著:Paul DiLascia翻译:NorthTibet下载源代码:Apr98CQAcode.exe (22KB)原文出处:C++ Q&A April 1998 我如何获得安装在我的系统上的某个特定的 DLL 的版本信息?我尝试着

2009-11-02 19:24:00 1406

转载 typedef

 1. 基本解释  typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。  在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。  至于typedef有什么微妙之处,请你接着看下面对几个问题的具体阐述。2. typedef

2009-11-02 17:04:00 848

转载 Visual Studio “查找/命令”框

  使用“查找/命令”框可以搜索和替换文本,还可以执行命令。若要发出单个 Visual Studio 命令,可以在这些命令之前加上大于号 (>) 字符。“查找/命令”框保留输入的最后 20 项,并将它们显示在下拉列表中。可使用箭头键在该列表中定位。“查找/命令”框在多数 Visual Studio 2005 编程语言中位于“标准”工具栏。 “查找/命令”框 

2009-11-02 16:48:00 2934

转载 Visual Studio “命令”窗口

http://msdn.microsoft.com/zh-cn/library/c785s0kz(VS.80).aspx  “命令”窗口用于直接在 Visual Studio 集成开发环境 (IDE) 中执行命令或别名。可以执行菜单命令和不在任何菜单上显示的命令。若要显示“命令”窗口,请从“视图”菜单中选择“其他窗口”,再选择“命令窗口”。本节介绍可从“命令”窗口使用的命令和别名。

2009-11-02 16:27:00 3159 1

转载 Visual Studio 即时窗口

http://msdn.microsoft.com/zh-cn/library/f177hahy(VS.80).aspx   “即时”窗口用于在设计时调试和计算表达式、执行语句、输出变量值等。它使您得以在调试期间输入表达式,由开发语言对其进行计算或执行。若要显示“即时”窗口,请打开要编辑的项目,然后从“调试”菜单中选择“窗口”,再选择“即时”。可以使用此窗口发出单个 V

2009-11-02 16:16:00 4681

google protobuf visual Studio 2008 语法高亮插件(protobuf syntax highlighter)

我写的google protobuf 的visual studio2008 语法高亮插件,目前只有语法高亮,没有自动完成等功能,后续考虑添加。

2012-11-03

Shaders for Game Programmers and Artists 源码

Shaders for Game Programmers and Artists 源码 Shaders for Game Programmers and Artists 源码

2010-01-19

cmake practise(中文)

cmake 教程 cmake实践 cmake 教程 cmake实践

2010-01-11

DirectX特效游戏程序设计 源码

DirectX特效游戏程序设计 源码 DirectX特效游戏程序设计 源码

2010-01-10

进程通信方式_消息方式

进程通信方式 消息方式 copydatad

2010-01-04

c++ templates 英文chm版

c++ templates 英文chm版

2009-12-12

udp实现的小型聊天程序

udp实现的小型聊天程序,应经做了很好的代码注释

2008-12-03

小型聊天程序,客户端服务器模式

小型聊天程序,客户端服务器模式,几乎所有代码我都加了说明

2008-12-03

空空如也

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

TA关注的人

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