Dophi's Technology Blog

享受知识共享带来的愉快

还是entity+message比较稳当,这里有篇文章:
http://www.cnblogs.com/GameCode/archive/2010/06/17/1759727.html
@gua
hacker为啥要自己写工具来用而不是用现成的工具?
我当时学md2格式也用的这个模型 - -!
赞一个,懂点汇编确实对理解c++的对象模型很有帮助啊
@冬瓜
本来也就不算是个问题,只是hge没做而已,但是dx是提供点图元的,要做是肯定可以做的。
嘿嘿,不知道hge为啥不提供点图元,你可以扩展下,支持下点图元撒,不然画点只能用画线来模拟,很纠结的事情啊。
这种学习方法不科学,学英语主要要锻炼出英语思维,语言其实是“第二条件反射”,条件反射的形成是要讲科学方法的,千万不要人云亦云,可以参考下面这个链接,希望对你有帮助:
http://cache.tianya.cn/publicforum/content/english/1/121795.shtml
博主的名字叫“冬瓜” - -,我还以为这是我的博客。
其实引用这种语法比起指针来说有这么个好处(虽然也是语言层面的东西,但是确实很有用),就是直接传一个数组的时候,在函数内会当成一个指针用(不在是数组类型),而用引用的话,在函数内,依然是一个数组,你可以对它做数组的操作,就像是对原来对象进行操作一样。比如,sizeof这种操作,但是不用引用的话,就没法用sizeof了,因为是一个指针,sizeof的值是指针的值而不是数组。
我记得sleep的精度好像是10ms,即使写1最大帧速也只能是100fps..如果你想要帧速高于100fps,这种方式是不行的
- -! wow, a cracker..
re: 代码坏味 dophi 2009-01-29 08:13
职责不单一,依赖不倒置,可以设计一个接口层,然后派生具体实现类。。说白了,就是策略模式。。
re: 两个变量,一个地址 dophi 2009-01-11 16:47
我对一楼说的补充下,其实很简单,对于const对象,编译器是会做优化的,像内建类型的数据,比如int,float这些,编译器会直接优化成立即数,举个例子,现在有这么一条语句:
const int const_value = 1113;
int value = const_value;
vc的汇编窗口中对应的汇编代码是这样的:
004113AE mov dword ptr [const_value],9
004113B5 mov dword ptr [value],9
可以看出来,虽然优化了,但是,优化的并不是const_value本身,const_value依然是分配了内存的,真正被优化的是对const_value的取值操作,可以从004113B5这条语句看出来,对const_value的取值被直接化成了一个立即数。
所以这篇文章中的问题我们能清楚的解释了,原因是:
对于const的语言内建类型数据,其取值操作会被优化成立即数访问,而涉及到内存读写的操作,则和其他的变量操作是一样的。
语言本身没这个机制,正如3楼说的,可以参见mfc的动态创建。。。
找到PEB的定义了,比较长,我直接转帖:
http://blog.donews.com/zwell/archive/2004/10/16/134681.aspx
@Kevin Lynx
由于我是凭记忆写的那段代码,现在看起来,的却写错了,实际上IsDebuggerPresent的汇编代码是这样的:
mov eax, dword ptr fs:[0x18]
mov eax, dword ptr [eax+0x30]
movzx eax, byte ptr [eax+0x02]

eax中保存的就是那个是否被调试的标志

实际上msdn中那样定义是一种兼容的做法,为了兼容不同系统版本的定义方式,如果没有记错的话,好像win98和win2000的偏移就不一样。而且你也能看出来msdn中给的结构体中的成员是一个很大的数组而已,根本看不出来有什么有意义的东西, 本来这个结构体就是没有公布出来的,不过微软的某位工程师把这个结构体公布出来过的,具体是怎么样的,我也不清楚了,反正是一个很长的结构体。

现在能确定的是,上面这段代码是正确的了,感谢kevin的纠错。
kevin哥哥真厉害啊~
有收获