- 博客(8)
- 收藏
- 关注
原创 Unity3d-C#常用API
游戏开发的时候有很多常用的功能,比如遍历目录下文件等。很多时候大家会自己写...好一点的会写到项目的库里面,差一点的可能各个源文件中到处都是。但是其实系统库中已经提供了不少现成的。另外感觉C#的系统库真的很不错,像C++之类的风格一般是系统库提供低级api,开发者总需要自己二次开发定制自己的方案,而C#已经积累了足够经验直接给最佳实践了。这里是一些汇总,基于Unity3d以及C#,慢慢汇总,不
2013-07-04 17:53:10
12721
原创 从Win32消息值反推出名称串:自动代码生成
这些天刚开始学习win32 API,出于对未知的不安,我试图用打印出所有爬过系统的消息的详细资料。其中有个简单的需求:从消息值反推出名称串,类似:TRACE( TranslateMsgID(0x000F) ); // output: WM_PAINT 在MSDN上搜了下,貌似没有API;也没怎么找到网上的资源,只好自己动手了。 我们
2010-03-10 03:41:00
3399
6
原创 今天研究了下 RAM 代码
初步研究了下一种有趣的技术: 能动态修改的代码。 把机器指令写到数组中,并且动态修改他。据称在某些场合能极大提高速度(譬如,无需传递参数,可以动态修改流程)。 偶今天用VC尝试了一下简单的ram函数,颇为有趣,虽然这个例子并未看到高效在哪里...比如下面的程序定义了一个ram函数 addInt , 他将一个数加上另一个数(使用 IA-32指令集,即目前32位奔腾和AMD兼容机的指令集):
2006-04-11 22:50:00
1924
1
原创 手动使用Move语义,减少按值返回对象操作的开销
C++中函数返回大型对象是效率的大敌。但是正如 EffectiveC++ 条款23 [ EC 23 ] 指出的, 有时候你一定得按值返回对象。譬如,你有一个稀疏矩阵类,它包含: class Matrix{ std::vector _data; size_t _row, _col;}; 现在他的矩阵乘法函数就必须返回一个新的 SparseMatrix
2006-04-07 14:06:00
2220
原创 关于C/C++ 表达式求值顺序
表达式求值顺序不同于运算结合性和优先级。下面是一个经典例子,被 ISO C99/ C++98 /03 三大标准明确提到:他的结果是不确定(unspecified) 的。 i = ++i + 1; // The behavior is unspecified 在介绍概念之前,我们先解释一下它的结果。这个表达式( expression )包含3个子表达式( subexp
2006-03-01 15:42:00
6817
1
原创 多继承,RTTI和虚函数
- _ -b 最近喜欢在CSDN上写长文抢分... 不能抢一,就发他个千文贴,楼主揭帖的时候一看哟这么长,100分怎么也得给个80罢? 早在一个月前,讨论某个多继承相关的bug的时候,我就想写这个主题了。但是那时候对高层概念知之甚少,怕有所偏颇。 前几天恰好看到一个百分贴《RTTI一定要求有虚函数吗?》,一不小心,回复了近2K文字,俨然一篇整文... 既然已经写了,那就干脆
2006-02-27 16:03:00
3928
2
原创 C++中的数组和局部静态对象
正像以前我说过的,我已经不下五次“以为”我理解数组了,然而今天又一次发现自己无知。 初学C的时候我把数组当成指针看。明白了一些实现机制后,我开始把数组当成一个特殊的变量; 我开始察看汇编剖析原理,理解逐步深入。 可是,明白得越多,就会发现越多的特例。 最终 —— 我陷入了看似任意且繁杂的规则的迷宫。 还是的回到定义上来。C/C++的数组保证两件事: 1
2006-02-11 23:26:00
7433
1
原创 VC7 中汇编和C++混合的初步心得
在CSDN社区与人争论语法,终极武器不外乎两把 —— 上天入地。上天者,搬出枕头厚的大部头引经据点,说有Lipman某典故云云;又有C++标准M页N条款如是说...入地者,操起起子扳手把程序拆个凄凉八落,啪啪啪回上一大片编译器汇编的输出,说——看吧,都在这里了。事实上,我发觉两者对于深入理解C++都是必不可少的。前些时,论坛上突然流行讨论数组的本质。怪的是,每次我以为自己真的懂了,下一
2006-02-08 01:30:00
3696
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人