自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (1)
  • 收藏
  • 关注

转载 关于工作与考研的探讨

回复CSDN和KAOYAN诸位网友的几点看法,(为避免吵架,郑重声明,本人不是高手,只是有感而发的一点个人陋见,欢迎指正,事先感谢):  就我自己的理解,谈谈我对读研和软件学院的看法,不妥之处一笑了之即可。  如果你有实际开发工作经验,感觉自己的水平和实力进入了一个高原期,迫切需要从理论上提高,那么计算机学院是唯一选择。因为计算机学院才能让你在理论上更上一层楼。软件学院从教学计划上就没

2012-03-06 13:32:38 507 1

原创 dll如何调试

1。菜单,选项卡:Project/Setting/Debug,设定Executable for debug session为一个n.exe文件,假如叫Main.exe,其实这个Main.exe也就是用来调用你DLL的文件。2。然后在Main.exe中调用写一些调用本DLL的代码。3。在DLL中设置断点,就可以像普通工程一样去调试了。4。注意:有些时候,尤其是当DLL修改之后,需要重新编

2012-03-01 19:24:26 410

原创 DLL的灾难 --- DEBUG与RELEASE版本不能交叉调用

让我们先看一段引文,再来进行心灵的探索:If you have an EXE and a DLL.When your exe APP was built Debug Mode, your Dll must be Debug mode.When your exe APP was built Release Mode, your Dll must be Release mode.

2012-03-01 19:23:04 579

原创 error LNK2005: _DllMain@12 already defined

要解决真个问题很简单,但是个中缘由就不是那么三言两语能说完的了,还是来看看如何解决吧。先在你的工程中搜索函数AfxGetStaticModuleState(),然后把他替换成AfxGetAppModuleState()这样,就OK了,其实归根结底是DLL在寻找资源时所引发的问题。    我们知道AfxGetStaticModuleState函数是用来在规则DLL中切换资源句柄的,而到了扩展DL

2012-03-01 19:22:12 388

原创 怎样重载强制类型转换操作符

我们知道C++支持对操作符的重载,但强制类型转换的重在格式和普通的操作符重载有几分不同。操作符的重载,在上一篇中,我们已经详细的讨论过,现在,我们就来看看如何重载一个强制类型转换的操作符。    class mydouble    {    public:        mydouble(double d)        {            m_data = d;

2012-03-01 19:19:47 675

原创 拷贝构造函数与赋值构造函数(operator=)的区别

对于拷贝构造函数以及赋值构造函数的定义,我就不再啰嗦了,还是给出一个简单的例子,更直观些吧。class CStr{public:    CStr(); //默认构造函数    CStr(const char* psz); //一种广义拷贝构造函数,不过也有人不认同我的看法    CStr(const CStr& str); //拷贝构造函数    const CStr&

2012-03-01 19:16:15 374

原创 为什么虚函数不应该是内联(inline)函数?

其实,这不是一个十分常见的问题,提问者应该已经对C++有了一定的了解。当然,我并不是说虚函数不能内联的,比如有下面一个继承体系:class base{    inline virtual void print();};void base::print(){    fprintf("base\n");}class derived1 : public base

2012-03-01 19:15:34 728

原创 空指针为什么能调用成员函数?

举个简单的例子,假如有如下的一段代码:class MyClass{public:    int i;    void hello()    {        printf("hello\n");    }    void print()    {        printf("%d\n", i);    }};void main(){

2012-03-01 19:13:14 336

原创 什么是操作符重载,如何进行操作符重载,为什么要进行操作符重载?

我们知道C++允许操作符的重载,那么我们不禁要问?什么是操作符重载,它到底干了些什么?    所谓操作符重载,其实说白了就是一个怪异的函数命名,巧的很的是,这个函数的名字与我们C++内嵌的很多操作符相同。    那,我们什么要进行操作符重载呢?    进行操作符重载的目的,就是为了使我们的程序更具可读性,更具一致性--其实也就是使某些我们自定义的类型能够像C++内嵌的类型拥有一致的运算

2012-03-01 19:12:35 1587

原创 new\delete和malloc\free的区别

还是先说说区别吧:    1. new/delete是C++里才有的,而new/delete与malloc/free一个显著的区别在于,new是建造一个对象,并调用对象的构造函数来初始化对象,其实在所有的new操作过程中,总是分为两步的:第一步是申请内存,第二步则是调用构造函数初始化对象。同样,在调用delete的时候,需要先调用析构函数,然后在销毁堆内存。    2. new/delet

2012-03-01 19:11:20 368

原创 什么叫虚继承(虚拟继承)?如何消除继承中的二义性?

乍听虚继承,吓倒很多人!!或许很多人会认为这和虚函数有关,其实,几乎没有任何关系。它的出现,是为了克服继承中一个非常棘手的问题,也就是臭名昭著的菱形继承(二义性)问题。二义性,也就是说,假如我们有一个基类:class Dog //狗,虚基类{public:    int getWeight(){    return m_nWeight;}protected:

2012-03-01 19:09:53 3106

原创 文件处理函数如何使用?用法举例,C与MFC

C语言,有时候真不得不佩它,照理说,文件处理函数是没有什么好讲的,但对于很多C入门的人来说,似乎也是值得静心品味一番的。C中的文件处理函数并不很多,而常用的,似乎更少。函数不难,但并不代表文件处理也不难。似乎又要有点跑题了,我总是喜欢跑题。上几天做梦,梦到我掉到月球上去啦……对文件的操作,无非就是打开、读写、调整读写偏移指针以及关闭,似乎么什可说的,也许事实也的确如此。还是让我们来看一

2012-03-01 19:08:24 292

原创 POSITION用法解释,POSITION是什么?

POSITION是MFC模板类库中经常使用的一个数据类型,我们从它的定义可以看出,其实,它就是一个指针。// abstract iteration positionstruct __POSITION { };typedef __POSITION* POSITION;MFC给出的注释是:一个抽象的迭代位置,既然是抽象,也就是没有给定具体的数据类型,以满足不同的模板参数的需要。在C

2012-03-01 19:07:42 7493

原创 CArray如何使用

首先大家应该知道MFC为我们提供了一个极其有用的模板类库,但是很多初学者,不但对这个库不太了解,甚至就连模板的含义,都成问题,所以,在此,我先不谈具体的模板定义,只告诉大家如何简单的使用一个模板类。    先以CArray为例,下面是我编写的一小段测试代码:    struct Node     {        int index;        char name[16

2012-03-01 19:06:44 606

原创 CArray的效率

前面已经讲过CArray的使用方法和一些注意事项了,现在,我再给大家说说这个模板类的效率问题。使用动态数组,我们所关注的,也许是它的可伸缩性,其实,也就是对内存的动态管理。当然,这个动态数组还必须能像普通数组那样使用下标来直接获取元素,这和它的效率是直接相关的。在CArray的内部,的确保存着一块动态创建的内存块,它线性的存储已经存在的元素,从而保证了它可以像普通数组一样,用下标作为偏移量

2012-03-01 19:05:42 646

原创 CArray的参数如何使用,TYPE与ARG_TYPE的解释

前一篇,我已经对大家粗浅的解释了CArray的用法,现在,再详细的给大家说说CArray的参数问题。数组---这个C语言中的怪物,自从被直接继承到C++中,无数有识之士们前赴后继、绞尽脑汁的试图寻找一种可以动态增长的替代数据类型。当然,最著名的,应该就是vector向量。但是,它也还是浑身绿毛,迭代的出现,几乎彻底的摧毁了它仅存的一点优点。所以,引入MFC之后,微软斩钉截铁的抛弃了标准C++的

2012-03-01 18:57:10 831

原创 CList如何使用,用法举例

此前,我们已经知道了POSITION,其实就是一个类似于学号的指针,我们也知道了CArray的效率将会随着元素数目的变化,而不断恶化。现在,似乎已经到了不得不讲讲CList的时候了。CList与CArray,虽然他们的内部数据结构截然不同,但是MFC为我们提供的接口函数,还是比较相似的。在使用CList之前,我们必须要知道,它是以双向链表的形式存在的。对于链表来说,一些常用的操作无非就是:

2012-03-01 18:55:35 2464

原创 VC中如何使用ADO

1。首先,我们必须建立一个VC的工程。建立VC工程很简单,只要如下操作即可。   1. 运行VC,菜单->File->New->Projects,然后选择MFC AppWizard(exe),然后填好工程名称,点击OK。   2. 选择应用程序类型为Dialog based。   3. 点击Finish,完成。2。导入ADO。在VC环境下,一般来说,我们都是用的ADO来连接数据库的

2012-03-01 18:52:53 377

原创 Release版本如何调试

在很多程序员的观点中,只有Debug版本才能调试,其实对于Release版本的调试是一样可以进行的,有人也许会说,在Debug版本下调试就够了,能在Debug版本下运行很好的程序在Release版本下是不会有问题的,其实这个观点是错误的,我在写程序的过程中就遇到过很多次,一个程序在Debug下能很好的运行,但在Release下运行就出错,检查原因就是缓冲区越界,如果能在Release版本下调试的话

2012-03-01 18:50:27 824

原创 CMap如何使用?用法举例

现在,我们来学习MFC中,最常用的数据结构中的最后一个CMap模板。之前,我们已经依次学完了CArray,CList,并且也对它们进行了初步的剖析。其实,我一直认为CMap是最简单的一个数据类型,如果说,大家对这个数据类型产生不良感觉的话,大多是因为对Hash表的陌生。    显然,CMap就是对Hash表的一种实现。对于Hash表来说,我们需要提供成对的Key与Value进行操作,其实,

2012-02-16 14:41:54 3257

原创 常引用,const CString&,引用的效率

C++的兴起,给一些形而上学或者一知半解的伪面向对象程序员,提供了诸多口实。致使他们在日常的编程中,疯狂的使用对象,常使我不寒而栗。上帝要毁灭一个人之前,总是先让他疯狂。    C++中,琳琅满目的书籍,也不遗余力的如此吹捧。可是事实证明,到目前为止,我们国家还没有任何一位高人写出任何一本令我叹为观止的C++教程,我不得不感慨万分。显然,每个接受C++面向对象思想的人,都应该清楚,所谓面向对象

2012-02-16 14:34:05 535

原创 C++优秀经典教程推荐

写程序已经快两年了,学习C++,也一年有余了,除了感谢把我领进门的温文尔雅的孙毅师傅,还要感谢给了我无穷视界的几本C++经典。      1. C++ Primer,                  难度系数 0.2, 推荐指数0.7      2. Effective C++,               难度系数 0.5, 推荐指数0.9      3. More Eff

2012-02-16 14:21:34 1736 2

原创 CArray,CList,CMap如何实化(实例化,instantiation)

哎,这是乎又是一篇没有什么技术含量的应用性文章,但我,又能怎么样?虽然,我们在《CMap如何使用,用法举例》中,已经非常详细的说明了CMap参数的用法,也在其他的专题中介绍过了其它模板类的实化过程,不过我还是担心是否每个人都有足够的耐心去看完那些蜿蜒之天际的文章。所以,我们把CArray、CList以及CMap的参数问题独立出来,在此着重的讲解一番。    还是先看一个简单的实化例子吧:

2012-02-16 14:14:15 1165

转载 MySQL数据表类型

MySQL作为当前最为流行的免费数据库服务引擎,已经风靡了很长一段时间,不过也许也有人对于MySQL的内部环境不很了解,尤其那些针对并发性处理的机制。今天,我们先了解一下MySQL中数据表的分类,以及它们的一些简单性质。截至目前,MySQL一共向用户提供了包括DBD、HEAP、ISAM、MERGE、MyIAS、InnoDB以及Gemeni这7种表。其中DBD、InnoDB属于事务安全类表,而其

2012-02-16 14:10:17 253

转载 Linux下CVS配置

虽然网上有很多关于CVS服务器的配置文档供大家参考,但是本着“纸上得来终觉浅,绝知此事须躬行”的态度,还是自己动手安装一下。因为别人配置的环境和 自己的毕竟不大一样,操作起来可能会有一些步骤有问题。只有我们自己遇到问题并解决时,才能够对CVS服务器的配置理解的更加深入。也建议各位需要用到CVS的朋友也动手装一下,实现你自己的CVS服务器。闲话少说,转入正题。我用的操作系统是:Fedora 7

2012-02-08 10:45:46 261

操作系统内核精讲

毛德操老师的,关于操作系统内核的讲义,非常值得一读。

2012-02-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除