CREATE TABLE `test` ( `col1` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , `col2` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL) ENGINE = MYISAM ;错误(不可以插入null值):INSERT INTO `test` VALUES (null,1);正确(插入''没问题):INSERT INTO `test` VALUES ('',1);INSER Read More
posted @ 2013-09-19 02:39 findumars Views(2097) Comments(0) Diggs(0)
this指针,通常是通过ecx传递;gcc是通过堆栈传递的,是最后一个被压栈。传递this指针是为了访问成员变量。除了虚函数,所有成员函数被编译之后都是全局函数。mov eax,[ecx] ; 将第一个成员赋给eaxadd eax,[ecx+4] ; 再用第一个成员函数的值加上4,可能就是第二个成员... Read More
posted @ 2013-09-15 05:08 findumars Views(772) Comments(0) Diggs(0)
为什么要发消息而不是直接调用一个过程?回答:1. 消息可以让你不需要知道接收者的确切类型。2. 消息可以有选择的处理,如果接收者对消息没有任何处理,不会有任何后果。3. 消息可以广播给多个接收者,而同时调用几个过程则比较困难。4. 在不同程序之间发送消息 Read More
posted @ 2013-09-15 00:46 findumars Views(360) 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(1236) 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(597) Comments(0) Diggs(0)