随笔分类 -  疑难杂症

摘要:定义一个类,类中有几个函数成员完成相似的功能,根据调用者选的模式对相应的函数进行调用 在Funtion()函数下如果按下面的代码调用的话,由于这个Funtion()频繁调用(成千上万次).如果每次都进行判断性能会降低很多.所以准备用类成员函数代替下面的段代码.[代码]在类中定义typedef void (BaseClass::*FUN)();然后声明函数成员FUN m_fun;在构造函数中根据相应... 阅读全文
posted @ 2009-06-27 23:52 独奏者 阅读(8240) 评论(5) 推荐(0)
摘要:今天把一个函数生成为内联报了error LNK2001: unresolved external symbol 连接错误, - -||内联函数将需要抽像声明(declaration)放在一个独立的*.h中,需要抽像的定义(definition)放在一个独立的*.cpp中,我写的显然符合这个要求..后来仔细分析了下,内联函数的运行机制是在调用处展开函数体所有代码,而我调用内联函数的地方只包含了*.h... 阅读全文
posted @ 2009-06-25 23:16 独奏者 阅读(379) 评论(0) 推荐(0)
摘要:#pragma pack() 和sizeof 本文主要包括二个部分,第一部分重点介绍在VC中,怎么样采用sizeof来求结构的大小,以及容易出现的问题,并给出解决问题的方法,第二部分总结出VC中sizeof的主要用法。1、 sizeof应用在结构上的情况请看下面的结构:struct MyStruct{double dda1;char dda;int type};对结构MyStruct采用sizeo... 阅读全文
posted @ 2009-06-20 12:37 独奏者 阅读(2351) 评论(0) 推荐(0)
摘要:DEBUG和RELEASE 版本差异及调试相关问题: . 内存分配问题 1. 变量未初始化。下面的程序在debug中运行的很好。 thing * search(thing * something) BOOL found; for(int i = 0; i < whatever.GetSize(); i++) { if(whatever[i]->field =... 阅读全文
posted @ 2009-06-14 22:25 独奏者 阅读(318) 评论(0) 推荐(0)
摘要:今天调试程序时在Debug版跳出这个错误..我根本程序没设置断点.而其好像说是我的堆有问题,而编译了个Release版本运行正常..后来google下,查到如下解释:说是调试状态下,操作系统用DebugWin32Heap来替代正常的heap分配内存空间。在这个堆上的任何操作debug的堆管理器会检查堆的数据完整性,如果它发现了一个错误,就会报告一个消息上来。当一个应用程序PageHeap机制被激活... 阅读全文
posted @ 2009-06-04 00:33 独奏者 阅读(15594) 评论(3) 推荐(2)