心得
文章平均质量分 67
雪人2015
知其然并知其所以然
展开
-
编程细节大荟萃
sscanf_s中%c,%s后面需要在相应的参数后添加容量大小参数。例如:char szTemp[ MAX_PATH ] = { 0 };sscanf_s( "你好", "%s", szTemp, MAX_PATH );避免鼠标闪烁的一个很好的方法就是,在创建窗口的时候不要指定光标句柄。这样windows就不会在OnMouseMove等函数里面再重设鼠标了。但是这种方法,在MFC的程序中似乎行不原创 2012-08-07 09:16:58 · 768 阅读 · 0 评论 -
wofstream,wcout无法输出unicode的真相
之前我转载过一篇ofstream和wofstream与中文输出问题,让我初步知道如何解决这类问题。第一次我没有在意,按照文章中做的方法去做,然后程序就运行正常了。我试图去记住这些规则,但是我后来发现,太难了。以至于我在最近一次使用到 std::wofstream 类的时候,发现我无法往其中输入unicode字符。让我找了几个小时的bug,于是我今天就花了两个小时,在网上搜索资料,以及自己写一些测试原创 2014-01-04 16:50:06 · 14398 阅读 · 2 评论 -
CEGUI及sample编译
1.编译 CEGUI.sln,以及 CEGUISamples.sln。1.1 确保的CEGUI-0.7.4 SDK,以及 dependencies 都在(如果没有去官网,或者其他地方下载:如csdn)。1.2 将 dependencies 放进 CEGUI-0.7.4 SDK 文件夹内。1.3 将 \CEGUI-0.7.4\dependencies\bin 下面的所有文件拷贝到 \CE原创 2014-02-13 14:34:12 · 5772 阅读 · 0 评论 -
《Advanced Windows Debugging》学习笔记
看完了很久,也一直没有完成这篇博客,在项目使用中,大多数还是用到其中的一些命令去解析,目前没有太多机会,可以让自己用基本命令去锻炼一下“遍历堆链表”等高级调试技巧。看完这本书给我最大的感觉是:当你觉得你有些比较难解决的调试或检测问题的时候,不妨查一查是不是有相应的工具。开发过程中需要的各种分析、检测、调试工具,这本书上都有或多或少的极少。WinDbg自带的堆栈解析能力比vs强很多。每当程序宕掉,发原创 2014-06-26 11:29:10 · 5865 阅读 · 0 评论 -
C++中的零散重要知识点
(一):类相关static 在类中的关键是用在类中的静态变量除了整型,枚举类型(枚举也是以整型存储的)的const类型可以在类中初始化。其他的都不能在类中初始化。(注意还必须是const类型才能)如果不是整型或枚举的const类型,那么都要在类外初始化。如:class A{ static int a;};int A::a=1;其中类的静态成员初始化不受访原创 2011-02-11 18:27:00 · 2348 阅读 · 4 评论 -
fstream,FILE之间的选择
作为一个C++的拥护者,我jin原创 2014-08-20 17:56:35 · 8972 阅读 · 0 评论 -
偏僻资料汇总
的详细介绍,包括不被人熟知的scanset原创 2014-10-29 23:42:49 · 4808 阅读 · 0 评论 -
工具使用心得和错误解决方案
一.vs2008当连接器报出LINK: fatal error LNK1102: out of memory时,解决方法:首先调出任务管理器,然后在进程页面中,找到mspdbsrv.exe,将其关掉。删掉项目相关的pdf等中间文件(假如项目Test,那么删除以Test为文件名的所有中间文件)。重启vs,重新链接即可。或者前三步都不做,直接重启。经常使用PostBuild原创 2013-04-27 09:21:56 · 2926 阅读 · 0 评论 -
libevent IOCP完整教程
将尽量讲解如何使用 libevent 2.1.4-alpha IOCP(2.0.21 版也试过,不过2.1.4修改了部分之前版本的IOCP bug,所以使用IOCP的话,个人感觉2.1.4比较适合),并将 Programming with Libevent 没有讲解到的有关 IOCP 的部分加以补充,指导你正确使用 libevent IOCP。原创 2014-11-10 19:25:24 · 14300 阅读 · 1 评论 -
书籍阅读记录
大学期间看过的书籍:《C++ Primer Plus》 《Effective C++》 《Windows程序设计》 《深入浅出MFC》 《Windows核心编程》 《Windows游戏编程大师技巧》 《3D游戏编程大师技巧》 《Introduction to 3D Game Programming with DirectX9.0》《Direct3D ShaderX Vertex Sha原创 2013-01-09 12:10:15 · 2056 阅读 · 4 评论 -
向量的点积和叉积
1. 向量的点积 向量点积的定义: 假设向量u (u x , u y )和v (v x , v y ),u 和v 之间的夹角为α,从三角形的边角关系等式出发,可作出如下简单推导: |u - v ||u - v | = |u ||u | + |v ||v | - 2|u ||v |cosα ===> (u x - v x )2 + (u y - v y )2 = u x 2 + u y转载 2011-06-09 12:51:00 · 5787 阅读 · 0 评论 -
《Programming in Lua》学习总结
之前写了一篇,居然误操作删除了,由于只保存了草稿,在百度上找不到快照,也找不到回复的地方,只能再写一篇。这个误操作也是csdn不完善的地方,我本来想点【编辑】,错点到旁边的【删除】,于是我就按住鼠标不动,拖到其他地方,以为就不会触发删除了,结果这样做正好躲过了csdn的删除确认框,直接给删除了,当时我就惊呆了!不过幸好上一篇写了也就10来行,我就在重写一篇,正好lua没有看完,边看看复习了!原创 2013-10-14 09:04:35 · 4975 阅读 · 1 评论 -
CEGUI重点难点集
感觉CEGUI确实不想很多商业成熟的SDK,有些地方的表现不尽如人意,但是毕竟是个开源项目,使得我们能根据自己需求定制自己的功能。但在定制需求之前,我们需要对CEGUI进行一个比较详细的了解才能够得心应手的定制需求。下面就将学习CEGUI过程中遇到的重点难点罗列起来,方便自己和网友一起学习。动画系统中的Affector,在写CEGUI的 .animation 文件的时候,我们需要要了解每个原创 2013-07-16 09:51:30 · 5865 阅读 · 0 评论 -
cocos2d-x 类大全及其概要,难点
CCTouchDispatcher1.注册的代理以优先级排序,在addTargetedDelegate()时完成插入,delegate的优先级通过在队列的位置来体现,优先级别高的位置靠前(虽然可以指定优先级数值,但内部没有任何优先级记录),相同优先级的delegates,后插入的位置靠前。CCCardinalSplineBy1.这个类是样条曲线动作,其创建函数CCCardinalSplin原创 2012-12-24 10:32:48 · 7248 阅读 · 2 评论 -
D3D中的重要注意事项
stencilbuffer的比较是用参考值与目标值比较,参考值在前面,所以如果比较函数是小于,那么是参考值小于目标值。 COLORWITEENABLE渲染状态有点特殊,禁用可以是FALSE,但启用一遍要用0x7.因为COLORWRITEENABLE可以控制4个颜色通道。分别用低4为控制,0x7可启用的蓝绿红3个通道。 DirectX所有的Draw函数要根据三角形的朝向,不要以为只有原创 2012-02-06 09:41:59 · 1088 阅读 · 0 评论 -
effect文件编写注意事项
在编写effect文件时,我经常因为一些常量没有设置,以至于耗费半个小时去找,最后才发现是新加的一个全局变量没有初始化。所以需要注意的第一项就是:首先查看全局变量是否都正确初始化,静态的在effect文件中,非静态由ID3DEFFECT接口设置。几乎所有的向量都需要归一化,所以千万别忘了将该正规化的正规化。灯光方向在进行光照计算时应该进行反转,变成由物体的顶点到灯光位置的向量。在VS,PS原创 2012-02-03 11:47:12 · 1493 阅读 · 0 评论 -
utf-8格式、utf-16格式
utf-8的格式如下 注意:x代表0或1的数值。范围字段是以16进制,编码形式字段是以2进制给出 范围 编码形式0x00000000-0x0000007F 0xxxxxxx0x00000080-0x000007FF 110xxxxx,10xxxxxx0x00000800-0x0原创 2011-04-16 20:00:00 · 2421 阅读 · 0 评论 -
好玩,诡异,代码大全
通过学习《Inside the C++ Object Model》发现了一些好玩的代码,记录在此吧,以方便搜集以后发现的好玩,或者归你的代码。类对象能展现多态吗? struct Base { int j; virtual void f() { std::cout << "Base::f()" <<原创 2013-01-08 15:01:29 · 10906 阅读 · 0 评论 -
编程书籍 中文翻译版错误纠正
以前看英文原著总有点不求甚解的感觉,最近在看的《Inside the C++ Object Model》的时候,格外要求自己不光整体理解段落含义,更应该真真正正地从语法及上下文上读懂每句话。通过中英对照(一般是在重点难点看看大师的翻译),学习大师的翻译技能。顺便发现了一些自认为欠妥的翻译,记录下来并修改为我的理解,让读者可以有更多认知选择。此后凡中英对照学习过程中发现的比较重要的,晦涩的翻译问题,原创 2013-01-07 14:53:06 · 1396 阅读 · 2 评论 -
《Design Patterns》学习总结
在时间比较空余的时候,又找到一本一直想看的书,就是这本名为《Design Patterns》(Gang of Four)的著作。本书通过类似Window Doc的程序,来揭开设计模式学习序幕,通过分析设计程序时遇到的困难,引出可以解决问题的设计模式,从而引导你更全面的掌握设计模式。案例程序的设计引出8个设计模式,案例程序设计完成后就是单独的23个经典设计模式,可以单个查阅,单个阅读。A原创 2013-01-22 17:50:45 · 1152 阅读 · 0 评论 -
编程基础知识大全
前序,中序,后序遍历:所谓前,中,后都是对根节点的位置而言。前序遍历:先根节点,后左子树,再右子树。中序遍历:先左子树,后根节点,再右子树。后序遍历:先左子树,后右子树,再根节点。树的深度优先遍历、广度优先遍历这些概念记得大学时还是比较清楚的,但是由于工作中几乎就没用过,终归模糊了。查了查很快就能想起来了。深度优先遍历:是指在没遍历完所有的直接子节点时,就对子节原创 2011-10-22 09:54:06 · 911 阅读 · 0 评论 -
让vs调试器显示你想要的数据格式
原文地址:http://msdn.microsoft.com/en-us/library/aa730838%28v=vs.80%29.aspxCalvin HsiaMicrosoft CorporationJune 2006Applies to: Visual Studio 2005 Visual Studio .NET 2003 Visual Stud转载 2013-06-05 12:34:22 · 2196 阅读 · 0 评论 -
ofstream和wofstream与中文输出问题
转载文章地址:http://hi.baidu.com/vfishg/item/81ddb9271835fbf951fd8765使用C++标准库的iostream,可以方便地将控制台、文件、字符串以及其它可扩充的外部表示作为流来处理,但要处理中文,却会碰到很多问题。 本人原来没怎么用过这个iostream,这几天尝试用这个写点东西,一会儿不能输出中文,一会儿不支持中文文件名的,搞得头大。网上转载 2013-06-14 14:07:17 · 7720 阅读 · 0 评论 -
让VS调试器帮你格式化显示自定义数据
这里讲解的是针对vs2010之前的版本的(即vs2005,vs2008。因为vs2010对于这方面有了一些改动),并以CEGUI 0.7.9版本(因为这个版本的CEGUI的String对象采用统一utf32编码,调试时很难查看字符串信息)中的CEGUI::String类型为例讲解,首先介绍一点此版本的CEGUI::String类需要注意的地方。有一个很重要的地方需要注意,0.7.9的版原创 2013-06-05 19:56:16 · 3899 阅读 · 1 评论 -
CEGUI::String类分析
CEGUI::String类算是一个不错的类,但是说实话,这个类让非英文国度的IT们不是很舒服。比如,自我们学习C++编程以来,我们一直使用这样的输出语句:std::cout 其中"名字:"使用的是多字节编码(ASCII编码的扩充版本)。我们的控制台能正确显示这些中文文本。但是当我们初次了解并使用CEGUI的时候,却无法使用这样简单的功能:CEGUI::String str原创 2013-07-15 10:26:06 · 6352 阅读 · 0 评论 -
ulua源码分析
对于NestClass的Type,用了2次被Cache了两次。主要是因为PushType这个函数:对于NestClass的Type,用了2次被Cache了两次。主要是因为PushType这个函数:原创 2015-08-31 17:41:01 · 6416 阅读 · 0 评论