this指针,通常是通过ecx传递;gcc是通过堆栈传递的,是最后一个被压栈。传递this指针是为了访问成员变量。除了虚函数,所有成员函数被编译之后都是全局函数。mov eax,[ecx] ; 将第一个成员赋给eaxadd eax,[ecx+4] ; 再用第一个成员函数的值加上4,可能就是第二个成员... Read More
posted @ 2013-09-15 05:08 findumars Views(778) Comments(0) Diggs(0)
为什么要发消息而不是直接调用一个过程?回答:1. 消息可以让你不需要知道接收者的确切类型。2. 消息可以有选择的处理,如果接收者对消息没有任何处理,不会有任何后果。3. 消息可以广播给多个接收者,而同时调用几个过程则比较困难。4. 在不同程序之间发送消息 Read More
posted @ 2013-09-15 00:46 findumars Views(366) Comments(0) Diggs(0)
llvm似乎还有一个奇怪的优化方法:llvm(low level virtual machine)本身就是一种抽象的、虚拟的计算机架构,其特性介于RISC和CISC之间,llvm会先将代码编译为llvm架构的字节码(这里还是说说数据吧,从其官方数据来看,生成的字节码略多于x86的目标代码而少于SPA Read More
posted @ 2013-09-07 20:29 findumars Views(1248) Comments(0) Diggs(0)
String、AnsiString及Tbytes之间的转换一、string转为AnsiString1、直接赋值 (有警告)2、AnsiString()类型强制转换。(无警告) 二、AnsiString 转为string1、直接赋值 (有警告)2、string()类型强制转换。(无警告) 三、stri... Read More
posted @ 2013-09-06 05:26 findumars Views(599) Comments(0) Diggs(0)
Delphi 和 C++Builder XE2 更新摘要XE2的关键特性如下:1.FireMonkey Application Platform支持运行在Windows (32和64位),Mac OS X,以及iOS上的跨平台应用程序。2.VCL支持64位和32位Windows。3.Delphi R... Read More
posted @ 2013-09-06 05:07 findumars Views(2299) Comments(0) Diggs(0)