摘要: 1.Console Handle(控制台句柄)1.1 进程的三种标准句柄 每个console进程都有standard input(STDIN), standard output(STDOUT), standard error(STDERR)三种句柄与之相关联,当系统创建console进程时,系统默认地将该进程的STDIN与该进程的控制台的输入缓冲区(input buffer)相关联,将该进程的STDOUT,STDERR与该进程的控制台的活动屏幕缓冲区(active screen buffer)相关联,也就是说standard input(STDIN), standard output(STDO 阅读全文
posted @ 2013-11-09 21:08 a ray of sunshine 阅读(555) 评论(0) 推荐(0) 编辑
摘要: 编译生成DLL文件的方法:方法一:1.cl /c FasterString.cpp ------->FasterString.obj2.lib /DEF FasterString.obj ------->FasterString.exp and FasterString.lib3.link /dll FasterString.exp FasterString.obj------ >FasterString.dll方法二:1.cl /c FasterString.cpp ------->FasterString.obj2.link /dll FasterString.ob 阅读全文
posted @ 2013-11-09 20:59 a ray of sunshine 阅读(329) 评论(0) 推荐(0) 编辑
摘要: 1.(mov ecx,dword ptr [ebp-0Ch])将this指针压入ecx2.(mov edx,dword ptr [ecx])this指针指向该对象的首地址,而该处的前四个字节存放着该对象的虚函数表的首地址,将虚表指针放到edx中。3.(call dword ptr [edx+4])由于edx中存放着虚表指针,则edx+4表示调用该虚表中的第二个函数4.执行到上述操作后,执行该条指令(jmp B::say (00401320)),从而真正调用我们的虚函数! 如果我们的程序是通过指向对象的指针或者是引用来调用该对象的虚函数,则在调用虚函数的过程需要查表(虚函数表)来调用真正的函数。 阅读全文
posted @ 2013-11-09 20:35 a ray of sunshine 阅读(1692) 评论(0) 推荐(0) 编辑