COM在注册表中的相关键值及其意义
摘要:转自https://www.cnblogs.com/developersupport/archive/2013/06/02/COM-registry.html 概要 当编写好一个COM并将其在系统中注册之后,这些注册表项到底位于Register中的什么位置,系统是如何通过这些注册表项在Runtime
阅读全文
vld(Visual Leak Detector 内存泄露检测工具
摘要:初识Visual Leak Detector 灵活自由是C/C++语言的一大特色,而这也为C/C++程序员出了一个难题。当程序越来越复 杂时,内存的管理也会变得越加复杂,稍有不慎就会出现内存问题。内存泄漏是最常见的内存问题之一。内存泄漏如果不是很严重,在短时间内对程序不会有太大的 影响,这也使得内存
阅读全文
VC编译选项 多线程(/MT)
摘要:VC编译选项 多线程(/MT)多线程调试(/MTd)多线程 DLL (/MD)多线程调试 DLL (/MDd)C 运行时库 库文件Single thread(static link) ML libc.libDebug single thread(static link) MLd libcd.libM
阅读全文
纯文本编辑器制作基本教程-参考
摘要:转载自:http://www.cppblog.com/megax/archive/2012/03/22/168601.html第一:the craft of text editor, 这本书有电子版,搜搜即可。找不到的话,可以联系我。这本书深入浅出的描述了制作编辑器所要知道的基础知识,还有一些基本的...
阅读全文
运行时和运行时库 (转载)
摘要:Runtime: When a program is running, or executing, it is said to be in runtime. The term is mostly used by software developers to specify when errors i...
阅读全文
C中的volatile用法
摘要:volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进行编译优化,加volatile关键字的变量有关的运算,将不进行编译优化。)。 例如: volatil...
阅读全文
memcpy与memmove区别
摘要:1.memmove函数原型:void *memmove(void *dest, const void *source, size_t count)返回值说明:返回指向dest的void *指针参数说明:dest,source分别为目标串和源串的首地址。count为要移动的字符的个数函数说明:memm...
阅读全文
常量指针和指针常量
摘要:转载自:http://www.cnblogs.com/zpcdbky/p/4902688.html的区别, 但一涉及到起名字,特别是给他们戴上“常量指针”和“指针常量”的中文帽子,由于作者和译者(针对外文书)的不同,就出现了“张冠李戴”和“李冠张戴”的乱像,不知道谁是谁了,弄得人一头雾水,尤其是对于...
阅读全文
strtok函数和strtok_r函数
摘要:注:本文转载自博客园,感谢作者整理!1.一个应用实例网络上一个比较经典的例子是将字符串切分,存入结构体中。如,现有结构体typedef struct person{ char name[25]; char sex[10]; char age[4]; }Person;需从字符串 char buf...
阅读全文
C++成员函数指针的应用
摘要:C++中,成员指针是最为复杂的语法结构。但在事件驱动和多线程应用中被广泛用于调用回叫函数。在多线程应用中,每个线程都通过指向成员函数的指针来调用该函数。在这样的应用中,如果不用成员指针,编程是非常困难的。 刚遇到这种语法时也许会让你止步不前。但你会发现,使用恰当的类型定义之后,复杂的语法是可以简化...
阅读全文
C++ 拷贝构造函数 赋值构造函数(转载)
摘要:C++ 拷贝构造函数 赋值构造函数拷贝构造函数和赋值构造函数的异同由于并非所有的对象都会使用拷贝构造函数和赋值函数,程序员可能对这两个函数有些轻视。请先记住以下的警告,在阅读正文时就会多心:如果不主动编写拷贝构造函数和赋值函数,编译器将以“位拷贝”的方式自动生成缺省的函数。倘若类中含有指针变量,那么...
阅读全文
C++标准转换运算符dynamic_cast
摘要:dynamic_cast (expression)dynamic_cast运算符,应该算是四个里面最特殊的一个,因为它涉及到编译器的属性设置,而且牵扯到的面向对象的多态性跟程序运行时的状态也有关系,所以不能完全的使用传统的转换方式来替代。但是也因此它是最常用,最不可缺少的一个运算符。与static...
阅读全文
浅议 Dynamic_cast 和 RTTI
摘要:转载自:http://www.cnblogs.com/zhyg6516/archive/2011/03/07/1971898.html写这篇博文的目的是,记录学习过程。对于问题要较真,在解决这个问题中会学到很多,远远超过自己期望,锻炼思维,享受这个过程。问题: Static_cast 与 Dynam...
阅读全文
【C++专题】static_cast, dynamic_cast, const_cast探讨
摘要:转载自:http://www.cnblogs.com/chio/archive/2007/07/18/822389.html首先回顾一下C++类型转换:C++类型转换分为:隐式类型转换和显式类型转换第1部分.隐式类型转换又称为“标准转换”,包括以下几种情况:1) 算术转换(Arithmetic co...
阅读全文
window 面试题
摘要:1:GetMessage和PeekMessage的区别?GetMessage:获取消息队列中的一个消息,存入MSG中,并从消息队列中移除,如果消息队列中没有消息就会阻塞;PeekMessage:查看消息,有消息,就将数据存入MSG结构中,没有消息就返回FALSE,不会阻塞,但如果没有更新区,可以移除...
阅读全文
text段,data段,bss段,堆和栈
摘要:一个程序一般分为3段:text段,data段,bss段text段:就是放程序代码的,编译时确定,只读,data段:存放在编译阶段(而非运行时)就能确定的数据,可读可写就是通常所说的静态存储区,赋了初值的全局变量和静态变量存放在这个区域,常量也存放在这个区域bss段:定义而没有赋初值的全局变量和静态变...
阅读全文
C语言C++语言中静态变量和静态函数
摘要:c语言中需要内存来存放数据。而内存主要分为两类:静态存储区和动态存储区;1.静态存储区分为:只读数据(READONLY DATA)区、以读写数据(RW DATA)区、未初始化区(BSS)。它们都是在程序编译连接阶段确定的,在程序执行的阶段不会改变。2.动态存储区分为堆和栈。都是程序执行的过程中动态分...
阅读全文
#pragma once与 #ifndef的区别 (转)
摘要:http://www.cppblog.com/szhoftuncun/archive/2007/10/28/35356.html为了避免同一个文件被include多次1#ifndef方式2#pragma once方式在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两者仍然还是有一些细微的区...
阅读全文
单引号内存放多个字符
摘要:1 int main() 2 { 3 char c = 'a'//'abc7'; 4 DWORD x = 'abc7'; 5 //int y = 'abc7d'; //该句编译出错; 6 7 cout<<c<<endl; //7 8 cout<<x...
阅读全文
游戏消息效率之switch...case && if...else
摘要:游戏中接受到的消息那叫一个多如牛毛啊,这就涉及到switch case接受还是if else接受的效率问题有人说这是个小问题,哈哈 精益求精吗看到了一篇两者效率比较的文章:switch...case与if...else的根本区别在于,switch...case会生成一个跳转表来指示实际的case分支...
阅读全文