VC/C++/C
文章平均质量分 50
Bestrem_9
清水可人。。。
展开
-
《Windows核心编程》---堆管理函数
<br />Windows的“堆”分为默认堆和私有堆两种。默认堆是在程序初始化时由操作系统自动创建的,所有标准内存管理函数都是在默认堆中申请内存的;而私有堆相当于在默认堆中保留了一大块内存,用堆管理函数可以在这个保留的内存区域中分配内存。一个进程的默认堆只有一个,而私有堆可以被创建多个。<br /> <br />默认堆可以直接被使用,而私有堆在使用前需要先创建,使用私有堆有很多好处:<br />1)可以使用默认堆的函数有多种,而它们可能在不同的线程中同时对默认堆进行操作,为了保持同步,对默认堆的访问是顺序进转载 2010-10-23 10:02:00 · 3854 阅读 · 0 评论 -
《重构--改善代码的既有设计》阅读笔记之代码的坏味道
代码的坏味道: 代码的坏味道主要有以下的几种: 1.重复代码 2.过长的函数 3.过大的类 4.过长的参数列 5.发散式变化 6.散弹式修改 7.依恋情结原创 2011-09-19 16:44:28 · 686 阅读 · 0 评论 -
CppUnit简要
<br />CppUnit 快速使用指南 [ 2005-07-18 0:33:37 AM | Author: jackycheung | From: Original ] <br />本文从开发人员的角度,介绍 CppUnit 框架,希望能够使开发人员用最少的代价尽快掌握这种技术。下面从基本原理,CppUnit 原理,手动使用步骤,通常使用步骤,其他实际问题等方面进行讨论。以下讨论基于 CppUnit1.8.0。<br />背景<br />CppUnit 是个基于 LGPL 的开源项目,最初版本移植自 J转载 2011-05-07 12:15:00 · 811 阅读 · 0 评论 -
深入理解C++的动态绑定和静态绑定
<br />为了支持c++的多态性,才用了动态绑定和静态绑定。理解他们的区别有助于更好的理解多态性,以及在编程的过程中避免犯错误。<br />需要理解四个名词:<br />1、对象的静态类型:对象在声明时采用的类型。是在编译期确定的。<br />2、对象的动态类型:目前所指对象的类型。是在运行期决定的。对象的动态类型可以更改,但是静态类型无法更改。<br />关于对象的静态类型和动态类型,看一个示例:<br /> view plaincopy to clipboardprint?class B {转载 2011-05-27 11:40:00 · 759 阅读 · 0 评论 -
整型转枚举体
<br />关于整型转枚举体的时候,之前一直用强制类型转换,可不不过是C的隐式类型转换还是C++的<br />四种类型转换都转换失败了,最后发现应该使用如下的显式类型转换:<br /> <br />eg:<br /> <br />typedef enum tagStudentGender<br />{<br /> Male = 0,<br /> Female = 1<br />}StudentGender;<br /> <br /> <br />StudentGender stuGender;原创 2011-04-01 17:12:00 · 1248 阅读 · 0 评论 -
再论C++中接口与实现分离的技术
我在今年2月份写了篇《C++中接口与实现分离的技术》的文章,用一个很简单的例子说明了在C++中接口与实现分离的好处及实现方法。很荣幸,这篇文章被推荐到了CSDN的首页并被多家网站转载。 可是当时写那篇文章的时候,没有考虑到类与类之间的继承关系。下面我就来具体的谈谈这个方面。 还是以上面提到的那篇文章中的例子来说明。 执行类: lxImplement.h文件内容:<br />#include "lxTest.h"<br />class ClxImplement {public:转载 2011-02-23 15:16:00 · 675 阅读 · 0 评论 -
C++中接口与实现分离的技术
在用C++写要导出类的库时,我们经常只想暴露接口,而隐藏类的实现细节。也就是说我们提供的头文件里只提供要暴露的公共成员函数的声明,类的其他所有信息都不会在这个头文件里面显示出来。这个时候就要用到接口与实现分离的技术。 下面用一个最简单的例子来说明。 类ClxExp是我们要导出的类,其中有一个私有成员变量是ClxTest类的对象,各个文件内容如下: lxTest.h文件内容:class ClxTest {public: ClxTest(); virtual ~ClxTest转载 2011-02-23 14:43:00 · 927 阅读 · 0 评论 -
用c++ 操作mysql 数据库类(for linux or windows and others)
<br /><br />最近开发个项目,因为要用到mysql数据库,作为对数据的后台支持,于是就找了些关于mysql c api的资料,发现不像以前用ado那么顺手,于是就按着操作ado的习惯,写了几个操作mysql数据库的类,用起来感觉还比较方便,小弟不敢独享,于 是就贴在了自己的blog上,与大家分享,希望大家多多测试,增加更多的功能 ........ <br /> 忠告:这几个类对处理不是很大数据量的操作是比较理想的, 但对于特大型的数据查询时就不太适合了,因为我将查询到的数据直接放入了内存转载 2011-01-19 11:28:00 · 1435 阅读 · 0 评论 -
DLL
<br />VC++动态链接库(DLL)编程深入浅出(一)<br />1.概论<br /> 先来阐述一下DLL(Dynamic Linkable Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类。在仓库的发展史上经历了“无库-静态链接库-动态链接库”的时代。<br />[被屏蔽广告] 静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib中的指令都被直接包含在最终生成的EXE文件中了。但是若使用DLL,该DLL不必被包转载 2010-10-25 21:30:00 · 679 阅读 · 0 评论 -
内存操作函数
<br />内存操作函数<br /> <br />Memory Management Functions<br /> <br />The following functions are used in memory management. <br /><br />CopyMemory <br />FillMemory <br />GetProcessHeap <br />GetProcessHeaps <br />GlobalMemoryStatus <br />HeapAlloc <br />转载 2010-10-23 10:01:00 · 973 阅读 · 0 评论 -
STL中map用法详解
<br />明:如果你具备一定的C++ template知识,即使你没有接触过STL,这个文章你也应该可能较轻易的看懂。本人水平有限,不当之处,望大家辅正。<br />一.Map概述<br />Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树转载 2010-10-24 10:07:00 · 644 阅读 · 0 评论 -
一个简单的内存检查系统
在编写嵌入式代码的时候,由于在全入市,有时候比较的注意内存资源的使用。在inux环境下,我使用了下面的较为简单的内存检查系统。 具体不多说了,思想比较的简单,就是记录下每次new分配资源的时候,记录下相关的信息,然后在调用delete释放资源的时候,原创 2011-09-28 17:08:31 · 614 阅读 · 0 评论