04 2008 档案
SDL入门教程(十三):3、封装多线程
摘要: 我们可以有两种方法能让具有普通函数指针(函数指针以及静态成员函数指针)的函数调用类的私有成员,一是友元函数,另外就是静态成员函数。而能够受到类私有保护的,只有静态成员函数。所以,我们可以通过静态成员函数调用一个对象数据的形式,实现对于创建多线程函数的封装。
阅读全文
posted @
2008-04-28 14:24 lf426 阅读(2907) |
评论 (2) 编辑
SDL入门教程(十三):2、初识多线程
摘要:
2.1:竞争条件(Race Conditions)
2.2:松开“死咬”的CPU
2.3:GUI线程与worker线程
阅读全文
posted @
2008-04-28 12:47 lf426 阅读(6756) |
评论 (0) 编辑
SDL入门教程(十三):1、多线程,从动画说起
摘要:
1.1:简单动画
1.2:动画函数在主程序中的调用
1.3:创建线程
阅读全文
posted @
2008-04-26 21:06 lf426 阅读(3713) |
评论 (0) 编辑
函数指针与成员函数指针
摘要: 因为他们通常调用的是函数指针,但是在C++中,我们通常把函数绑定到了与其数据相关的类中,也就是说,我们在C++中很少用到“单身”的函数,成员函数可以被那些调用函数指针的函数调用吗?
阅读全文
posted @
2008-04-26 12:39 lf426 阅读(3952) |
评论 (0) 编辑
SDL入门教程(十二):音乐和音效
摘要:
1:扩展库SDL_mixer
2:SDL_mixer的启动和退出,设计MixSoundClass的基类
3:音效类EffectSound
4:音乐类MusicSound
5:完整的源代码
阅读全文
posted @
2008-04-20 11:59 lf426 阅读(5733) |
评论 (8) 编辑
MixSoundClass
摘要: 源代码 last update: 2008-04-20
阅读全文
posted @
2008-04-20 01:49 lf426 阅读(3333) |
评论 (0) 编辑
SDL入门教程(十一):3、做一个对话框
摘要: 有了按钮类,我们制作对话框就很轻松了……我们使用effectiveClick()方法,一次性的将接收事件,判断事件,显示按钮的不同状态集成性的完成了。
阅读全文
posted @
2008-04-19 12:32 lf426 阅读(3766) |
评论 (2) 编辑
SDL入门教程(十一):2、设计按钮ButtonClass
摘要:
2.1:设计框架与基类的接口
2.2:鼠标事件判断与有效点击
2.3:ButtonClass的源代码
阅读全文
posted @
2008-04-19 12:18 lf426 阅读(3481) |
评论 (0) 编辑
SDL入门教程(十一):1、SurfaceClass类的再设计
摘要:
1.1:为了按钮做准备
1.2:为SurfaceClass设计基类
1.3:如何深度复制SDL_Surface ?
阅读全文
posted @
2008-04-17 12:37 lf426 阅读(2257) |
评论 (0) 编辑
ButtonClass
摘要: 源代码 last update: 2008-04-15
阅读全文
posted @
2008-04-15 21:29 lf426 阅读(2726) |
评论 (1) 编辑
StringData
摘要: 源代码 last update: 2008-04-14
阅读全文
posted @
2008-04-14 14:11 lf426 阅读(1156) |
评论 (2) 编辑
SurfaceClass
摘要: 源代码 last update: 2008-05-12
阅读全文
posted @
2008-04-14 14:03 lf426 阅读(2318) |
评论 (2) 编辑
SDL_render_Chinese
摘要: 源代码 last update: 2008-05-12
阅读全文
posted @
2008-04-14 13:24 lf426 阅读(1503) |
评论 (0) 编辑
gb2312_to_Unicode
摘要: 源代码 last update: 2008-05-12
阅读全文
posted @
2008-04-14 13:23 lf426 阅读(2544) |
评论 (0) 编辑
成员数据的三种形式与栈对象的生命周期
摘要: 结论是:如果成员数据使用(新)对象,则必须定义这个对象所属类的复制构造函数;如果使用的是对象引用或者指针,则一定只能用已经存在并且会在B对象整个生命周期内都存在的A对象来构造这个B对象。
阅读全文
posted @
2008-04-14 12:36 lf426 阅读(502) |
评论 (0) 编辑
创建一次销毁两次?!复制构造函数的致命错误。
摘要: 所以,结论是,如果A类构造具有堆操作,有可能把A类作为B类的成员数据,B类又有可能通过成员初始化列表构造A对象,请一定别忘记手写复制构造函数。
阅读全文
posted @
2008-04-14 11:50 lf426 阅读(523) |
评论 (0) 编辑
显式析构函数的陷阱
摘要: 几乎在大部分时候,我们是不需要显式的调用析构函数的。显式的调用析构函数是一件非常危险的事情,因为如果系统会调用析构函数,无论我们自己是否已经调用过,仍然会再次调用。换句话说,我们自己所谓的显式调用析构函数,实际上只是调用了一个成员函数,并没有真正意义上的让对象“析构”。
阅读全文
posted @
2008-04-12 14:29 lf426 阅读(2473) |
评论 (1) 编辑
Microsoft Visual C++ 2008 发布程序的部署问题
摘要: 这个问题无数人在问,但是很遗憾,没有人给出完整的解释和完美的解决方案。其实我也只有一台电脑,而且装了VC了,这个问题必须要台没有装这类软件的电脑才容易去分析。感谢那些为了测试我小程序的朋友,是你们一次次在如此恶劣的网络速度下收取我一次次修改的dll包和部署文件,才让这个问题的完美解决方案浮出水面。这里就把我的经验给大家分享吧。
阅读全文
posted @
2008-04-12 01:51 lf426 阅读(19338) |
评论 (19) 编辑
(下载)这两天的小成绩:What Are The Keys To Your Heart?
摘要: 从零开始写程序的感触太多了,估计教程我要写两周了。关注我技术博客的朋友敬请期待吧,接下来要写的东西绝对是最直接最实用的第一线经验。
阅读全文
posted @
2008-04-10 11:20 lf426 阅读(772) |
评论 (0) 编辑