C++
文章平均质量分 81
kylin_p
这个作者很懒,什么都没留下…
展开
-
Type cast in C++
标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast。static_cast用法:static_cast ( exdivssion ) 该运算符把exdivssion转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法:①用于类层次结构中基类和子类之间指针或引用的转换。 进行上行转载 2009-11-05 23:31:00 · 1009 阅读 · 0 评论 -
实现一个lua 调试器
<br />简介:<br /> LUA没有自带调试器,只提供了一套调试库,可以实现符合自己需要的调试器.晚上没事,改写了一下以前的一个GDB风格的LUA调试器,可嵌入到应用程序中,在需要的时候触发并调试,有需要的朋友可以参考下. 支持如下命令:<br /> h 帮助信息<br /> c 继续动行<br /> s 单步运行(不跳过函数调用)<br /> n 单步运行(跳转载 2010-10-25 15:51:00 · 3685 阅读 · 0 评论 -
lua的Debug库
<br />debug库并不给你一个可用的Lua调试器,而是给你提供一些为Lua写一个调试器的方便。出于性能方面的考虑,关于这方面官方的接口是通过C API实现的。Lua中的debug库就是一种在Lua代码中直接访问这些C函数的方法。Debug库在一个debug表内声明了他所有的函数。<br />与其他的标准库不同的是,你应该尽可能少的是有debug库。首先,debug库中的一些函数性能比较低;第二,它破坏了语言的一些真理(sacred truths),比如你不能在定义一个局部变量的函数外部,访转载 2010-10-12 10:11:00 · 16674 阅读 · 0 评论 -
Macros for Build Commands and Properties for Visual Studio 2010
MacroDescription$(RemoteMachine)Set to the value of the Remote Machine property on the Debug property page. See Changing Project Settings for a C/C++ Debug Configuration for more information.$(Configuration)The name of the current project configura原创 2010-08-27 13:22:00 · 806 阅读 · 0 评论 -
Vs 2008 解决方案的目录结构设置和管理
文章首先演示一个虚拟的解决方案和我们期望得到的目录结构,然后使用VC2008的项目设置功能来一步一步达到我们的需求。虚拟解决方案:该虚拟解决方案名为GMA,包含一个动态链接库项目ChocolateMilk和一个应用程序项目PureMilk,需要使用一个第三方库log4cxx(Apache log4j的C++移植版本,用于日志输出)。log4cxx是以动态库的方式编译的,所以我们需要它的3样东西,分别是头文件,导入库(log4cxx.lib, log4cxxd.lib)和动态链接库(log4cxx.dll)。原创 2010-08-27 13:32:00 · 886 阅读 · 0 评论 -
CCtrlist Report模式下编辑单元格
<br />MFC下,提供了List Control控件,当选择Report模式时,可以方便的做数据报表之类的应用。类似下图:<br /> 但是有个不大不小的问题是,当List Control选择可编辑模式时,只有每一行的第一列的单元格才能编辑,而且在默认情况下,当选中的时候,也只有被选中的这一行的第一个单元格才会反色显示~~这未免太BT了~<br />在网上找了一些相关的帖子,解决整行选中的问题可以采用为List Control控件增加LVS_EX_FULLROWSELECT样式的方法来实转载 2010-08-06 17:52:00 · 993 阅读 · 0 评论 -
The difference between Hotkey, accelerator, and composite key.
<br />For Hotkey:<br />ON_HOTKEY()...<br />RegisterHotKey()...<br /> <br />For accelerator:<br />In Frame Window, LoadAccelTable(MAKEINTRESOURCE(IDR_MAINFRAME)) (automatically)<br />Other window, ::LoadAccelerators(AfxGetModuleInstance(), MAKEINTRESOURCE(转载 2010-07-12 15:12:00 · 602 阅读 · 0 评论 -
Windows 邮槽
邮槽是基于广播通信体系设计出来的,它采用无连接的不可靠的数据传输· 邮槽是一种单向通信机制,创建邮槽的服务器进程读取 数据,打开邮槽的客户机进程写入数据· 为保证邮槽在各种Windows平台下都能够正常工作,我们传输消息的时候,应将消息的长度限制在424字节以下 邮槽提供一种进程间通讯能力的方法。任何进程都可以创建一个邮槽,并成为一个邮槽服务器。其它调用邮槽的客转载 2010-01-07 00:16:00 · 3109 阅读 · 0 评论 -
windows共享内存
共享内存在 Windows 中是用 FileMapping 实现的。我们可以用 CreateFileMapping 创建一个内存文件映射对象, CreateFileMapping 这个 API 将创建一个内核对象,用于映射文件到内存。这里,我们并不需要一个实际的文件,所以,就不需要调用 CreateFile 创建一个文件, hFile 这个参转载 2010-01-06 23:59:00 · 12243 阅读 · 0 评论 -
KMP算法
KMP算法是一种用于字符串匹配的算法,这个算法的高效之处在于当在某个位置匹配不成功的时候可以根据之前的匹配结果从模式字符串的另一个位置开始,而不必从头开始匹配字符串.因此这个算法的关键在于,当某个位置的匹配不成功的时候,应该从模式字符串的哪一个位置开始新的比较.假设这个值存放在一个next数组中,其中next数组中的元素满足这个条件:next[j] = k,表示的是当模式字符串中的第j + 1个(转载 2010-01-08 00:29:00 · 576 阅读 · 0 评论 -
匿名和命名管道(windows)
一、概述 管道(Pipe)实际是用于进程间通信的一段共享内存,创建管道的进程称为管道服务器,连接到一个管道的进程为管道客户机。一个进程在向管道写入数据后,另一进程就可以从管道的另一端将其读取出来。匿名管道(Anonymous Pipes)是在父进程和子进程间单向传输数据的一种没有名字的管道,只能在本地计算机中使用,而不可用于网络间的通信。 二、匿名管道 匿名管道由CreateP转载 2010-01-07 00:09:00 · 17893 阅读 · 1 评论 -
真彩位图工具栏的实现
下边是使用BMP制作 Ctoolbar 的一点总结。 1. 各种色位的定义 #define ILC_COLOR4 0x0004 //16色 #define ILC_COLOR8 0x0008 //256色 #define ILC_COLOR16 0x0010 //16位色 #define ILC_COLOR24 0x0018转载 2009-11-05 23:29:00 · 1928 阅读 · 1 评论 -
The usage of __Stdcall, __cdecl, thiscall and __fastcall
被这些修饰关键字修饰的函数,其参数都是从右向左通过堆栈传递的(__fastcall的前面部分由ecx,edx传),函数调用在返回前要清理堆栈,但由调用者还是被调用者清理不一定。1、_stdcall是Pascal程序的缺省调用方式,通常用于Win32 Api中,函数采用从右到左的压栈方式,自己在退出时清空堆栈。VC将函数编译后会在函数名前面加上下划线前缀,在函数名后加上"@"和转载 2009-11-05 23:31:00 · 423 阅读 · 0 评论 -
C++类对象内存结构
首先介绍一下C++中有继承关系的类对象内存的布局: 在C++中,如果类中有虚函数,那么它就会有一个虚函数表的指针__vfptr,在类对象最开始的内存数据中。之后是类中的成员变量的内存数据。 对于子类,最开始的内存数据记录着父类对象的拷贝(包括父类虚函数表指针和成员变量)。 之后是子类自己的成员变量数据。 对于子类的子类,也是同样的原理。但是无论继承了多少个子类,对象中始终只有一个虚函数表指针。转载 2009-11-05 23:22:00 · 570 阅读 · 0 评论 -
VBA and COM interaction and parameter conversions
To let VBA access COM object, we need to add a ATL object from class转载 2014-11-19 16:58:18 · 1241 阅读 · 0 评论