- 博客(242)
- 资源 (14)
- 收藏
- 关注
转载 Head First 设计模式 C++实现-Strategy(策略模式)
转贴地址:http://blog.csdn.net/NE_Team/archive/2008/07/21/2685689.aspx模式定义:定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。个人见解:基本上所有的模式都是在体现oo的一个设计原则,弱关联(其中之一)。书上介绍了一个例子,是关于鸭子的,总体的问题是过多的运用
2008-12-05 10:56:00 1098
原创 Head First设计模式C++实现-Decorator模式
#ifndef DECORATOR_H_#define DECORATOR_H_#include using namespace std;class Beverage{public: virtual string GetDescription() { return "Unknown Beverage"; }
2008-12-04 22:02:00 1103
原创 如何使用Openssl加载证书撤销列表
下面给出一种使用Openssl加载证书撤销列表的方法,该方法只能加载Pem格式的证书撤销列表#include #include #include #include using namespace std;void main(){ X509_CRL *m_crl = NULL; BIO *bio = NULL;
2008-12-03 14:34:00 2734
原创 音视频同步解决方案
本文给出了一种音视频同步的方案,方案基本流程图如下: 上层应用程序分别将一帧音频和一帧视频封装成一个数据包传送给下层SDK,SDK内部保留一个缓冲假设为50帧,当SDK的缓冲被填满时开始向音频和视频卡送数据。SDK中分别起两个线程:音频线程和视频线程分别负责向音视频卡送数据,这里SDK还需要有一个具有2个计数的信号量,当音频线程和视频线程分别获得信号量时才向音视频板卡送数
2008-12-03 09:47:00 5672
原创 线性表的顺序表示实现-C++版
声明:本文内容属于本人原创,欢迎转载,请大家在转载时注明转贴地址 使用一个模板类实现了线性表的顺序表示,我对这个模板类进行了简单的测试,大家如果在使用过程中或看代码的过程中遇到错误请及时提出,谢谢!该代码已经在VS2005环境下编译通过/*** @file ListSqu.h* @author Wang Liuqiang* @version 1.0*
2008-12-02 09:37:00 1653
原创 何时调用C++复制构造函数和拷贝构造函数
1. 何时调用复制构造函数 复制构造函数用于将一个对象复制到新创建的对象中。也就是说,它用于初始化过程中,而不是常规的赋值过程中。类的复制构造函数原型通常如下: class_name(const class_name&); 它接受一个指向类对象的常量引用作为参数。例如,String类的复制构造函数的原型如下: String(const String&);
2008-12-01 11:37:00 5133 1
原创 使用new实现realloc操作
本文定义了一个宏来实现使用new代替realloc的操作,代码如下:#include #include using namespace std;// p - 内存指针 // n - 申请内存数量 // T - 申请内存类型 #define RENEW(p, n, T)/ {/ T* pNew = new T[n];/ me
2008-11-28 10:27:00 8517
原创 C++嵌套类的使用方法
在一个类的内部定义另一个类,我们称之为嵌套类(nested class),或者嵌套类型。之所以引入这样一个嵌套类,往往是因为外围类需要使用嵌套类对象作为底层实现,并且该嵌套类只用于外围类的实现,且同时可以对用户隐藏该底层实现。 虽然嵌套类在外围类内部定义,但它是一个独立的类,基本上与外围类不相关。它的成员不属于外围类,同样,外围类的成员也不属于该嵌套类。嵌套类的出现只是告
2008-11-19 13:28:00 23173 3
转载 VC中利用管道技术取得DOS或者命令行以及外部程序的执行结果
不知你是否用过这样的程序,他们本身并没有解压缩的功能,而是调用DOS程序PKZIP完成ZIP包的解压缩。但是在程序运行时又没有DOS控制台的窗口出现而且一切本应该在DOS下显示的信息都出现在了那个安装程序的一个文本框里。这种设计既美观又可以防止少数眼疾手快的用户提前关了你的DOS窗口。 现在就来讨论一下,如何用匿名管道技术实现这个功能。 管道技术由来已久,相信不少人对DOS命令里的管道技术
2008-11-17 14:03:00 3401
原创 C#环境下log4net使用方法
1. 下载log4net开发包2. 新建一个Windows应用程序,在工程中添加log4net.dll引用3. 在工程中添加应用程序配置文件,并命名为log4net.config,内容如下:
2008-11-07 16:56:00 3750 2
转载 测试SQL连接的快捷方法
转贴地址:http://blog.csdn.net/ygxxingxing/archive/2007/07/09/1683295.aspx第一步 打开记事本,不要写任何字,然后保存为dsds.udl(即为重命名)到桌面.这样就会在桌面出现一个这样的图标(图一):(图一) 双击图标,就会出现这样的小窗体(图二):(图二) 在“提供程序”这个选项卡上 选择“ Micr
2008-10-12 15:00:00 1702
转载 四大图像库的使用感受:OpenCV/FreeImage/CImg/CxImage
转贴地址:http://blog.csdn.net/bugzhao/archive/2005/03/28/332308.aspx对OpenCV的印象:功能十分的强大,而且支持目前先进的图像处理技术,体系十分完善,操作手册很详细,手册首先给大家补计算机视觉的知识,几乎涵盖了近10年内的主流算法;然后将图像格式和矩阵运算,然后将各个算法的实现函数。我用它来做了一个Harris角点检测器和Cann
2008-09-28 16:14:00 1378
转载 “Visual Studio.net已检测到指定的Web服务器运行的不是Asp.net1.1版。您将无法运行Asp.net Web应用程序或服务”问题的解决方案
转贴地址:http://blog.donews.com/plrguo/archive/2005/10/12/585406.aspx解决方案一:1.确定有安装.net framework 1.1,可以查看目录,c:/winnt/microsoft.net/framework重启IIS,重启计算机(常规纠错方法)2.如果你的Web服务器使用了固定IP:确定你的“Internet信息服务”
2008-09-27 15:20:00 1448
原创 IIS5.1安装步骤及测试
1. 下载IIS5.1安装包 在网上下载IIS5.1。下载地址http://www.cngr.cn/dir/207/235/2007082122272.html,下载好后,记住你下载的物理路径,最好是直接下载到你的根目录下,比方说直接下载到D盘。不要下载到文件夹里。IIS5.1是个压缩文件,我们就把它解压到当前文件夹,这时我们会看到windowsXP _setup这个文件
2008-09-27 12:21:00 14071 2
原创 游戏开发中的设计模式之一-Strategy模式
1. 定义 Strategy模式定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。2. 设计原则 找出应用中可能需要变化之处,把它们独立出来,不要和哪些不需要变化的代码混在一起3. 实例 我们在游戏中经常看到有不同的角色,各种角色使用不同的武器,并且还可以更换武器。该问题可以抽象为如下描述
2008-09-02 10:39:00 1799
原创 端口80被占用的解决方法
今天配置Apache是遇到80端口被占用的情况,可又不知道那个程序占用了该端口,下面介绍一下解决方法:1. 首先使用netstat命令查看占用80端口的进程 使用cmd进入dos环境,然后输入命令:netstat -ano,会显示所有进程使用端口的情况,找到占用80端口的进程,并记录其PID(进程ID)2. 使用“任务管理器”查看PID对应的进程 打开任务管
2008-09-01 13:32:00 5256
转载 人生致命的八个经典问题
人生致命的八个经典问题 问题一, 如果你家附近有一家餐厅,东西又贵又难吃,桌上还爬着蟑螂,你会因为它很近很方便,就一而再、再而三地光临吗? 回答:你一定会说,这是什么烂问题,谁那么笨,花钱买罪受? 可同样的情况换个场合,自己或许就做类似的蠢事。 不少男女都曾经抱怨过他们的情人或配偶品性不端,三心二意,不负责任。明知在一起没什么好的
2008-08-27 20:40:00 843
转载 利用Rational Rose进行C++代码和数据库结构分析
一.Rational Rose逆向工程介绍逆向工程(Reverse Engineer)就是从现有系统的代码来生成模型的功能。分析已有的代码其主要的目的就是了解代码结构和数据结构,这些对应到模型图就是类图、数据模型图和组件图(对UML各种模型图的描述见注释③),也就是通过Rational Rose的逆向工程所得到的结果。Rational Rose所支持的逆向工程功能很强大,包括的编程语言
2008-08-25 10:32:00 945
原创 Windows环境下log4cxx的编译及使用
1.介绍 Log4cxx是开放源代码项目Apache Logging Service的子项目之一,是Java社区著名的log4j的c++移植版,用于为C++程序提供日志功能,以便开发者对目标程序进行调试和审计。有关log4cxx的更多信息可以从Apache Loggin Service的网站http://logging.apache.org获得。当前的最新版本为0.10.0,
2008-08-05 16:58:00 6293 3
原创 计算四面体体积
已知四面体顶点坐标分别为(x1,y1,z1),(x2,y2,z2),(x3,y3,z3),(x4,y4,z4),可以通过如下两种方法求四面体体积:1. 利用向量的混和积 过一顶点的三向量设为a,b,c,所求四面体的体积就是|(a×b)·c|/6。 此处假设(x1,y1,z1)为四面体顶点,则 a = (x2 - x1, y2 - y1, z2 -z1)
2008-07-30 15:26:00 29249
原创 C++中利用多线程实现定时器
使用多线程技术实现了一个简单的定时器类: /********CTimer.h***********/ #ifndef CTIMER_H_#define CTIMER_H_#include class CTimer{public: CTimer(); ~CTimer(); void StartTimer(unsigned i
2008-07-29 10:39:00 7380
原创 使用vector实现矩阵,并计算N阶矩阵的行列式
// ***************************************************************// main version: 1.0 · date: 07/19/2008// -------------------------------------------------------------// 该程序使用递归的方法来求取N阶矩阵的
2008-07-19 14:10:00 2732
原创 关于在C++开发的项目中引用后缀名为.c文件的一句话提醒
在C++开发的项目中如果引用包含有.c后缀的文件时可能会出现一些莫名其妙的问题,所以在使用C++开发的项目中最好把所有后缀名为.c的文件修改为.cpp的
2008-07-16 15:54:00 1143
转载 穷人和富人的区别
从富人与穷人的经典差异 看怎么样成为富人 1、自我认知 穷人:很少想到如何去赚钱和如何才能赚到钱,认为自己一辈子就该这样,不相信会 有什么改变。 富人:骨子里就深信自己生下来不是要做穷人,而是要做富人,他有强烈的赚钱意识 ,这也是他血液里的东西,他会想尽一切办法使自己致富。 2、休闲 穷人:在家看电视,为肥皂剧的剧情感动得痛苦流涕,还要仿照电视里的时尚来武装
2008-07-11 11:45:00 1049
原创 如何使用PCATTCP测试局域网传输速度
PCATTCP是一款不错的测试局域网网络速度的软件,下面介绍下使用方法:1. 服务器端 在服务器端运行如下命令: C:/>pcattcp –r 执行后,提示如下: PCAUSA Test TCP Utility V2.01.01.08 TCP Receive Tes
2008-06-20 14:02:00 9462 3
转载 内存泄漏定位
第一种:通过"OutPut窗口"定位引发内存泄漏的代码(下面转,我写的没原文好,也懒得写)。 我们知道,MFC程序如果检测到存在内存泄漏,退出程序的时候会在调试窗口提醒内存泄漏。例如:class CMyApp : public CWinApp { public: BOOL InitApplication() { int* leak = new in
2008-06-17 23:02:00 1711
原创 使用Openssl生成CA及签发证书方法
准备步骤 下载Openssl并编译生成响应的库,假设目录为E:/电子书/OpenSSL/openssl-0.9.8g,编译成功后Openssl会将响应的lib,dll及可执行程序存放到out32dll文件中生成CA1. 在DOS窗口中转换到out32dll目录下。 例如:cd E:/电子书/OpenSSL/openssl-0.9.8g/out32dl
2008-06-10 14:41:00 11040
原创 在Windows下使用汇编方式编译OpenSSL方法
1. 安装perl,perl可以从http://www.activestate.com/ActivePerl下载。2. 安装编译器(任意一个都可以),我仅以Visual C++.net2003为例子。 Visual C++ Borland C GNU C (Cygwin or MinGW)3. 使用汇编方式编译时,需要安装汇编语言编译器。MASM,NASM
2008-06-03 10:32:00 3207
原创 Winsock WSAEventSelect模型范例
服务器端代码:#include #include #include using namespace std;int main(){ WORD wVersionRequested; WSADATA wsaData; int err; char buffer[256]; memset(buffer, 0, 256); wVersionRequested = MAKEWORD( 2, 2 )
2008-05-08 11:29:00 1526 1
原创 Winsock Select模型范例
服务器端:#include #include void InitSocket(){ WORD wVersionRequested; WSADATA wsaData; int err; wVersionRequested = MAKEWORD( 2, 2 ); err = WSAStartup( wVersionRequested, &wsaData ); if ( err != 0 )
2008-05-06 17:03:00 4332 6
原创 error C2143: 语法错误 : 缺少“{”(在“:”的前面)编译错误的解决
最近写程序遇到如下问题:编译时编译器提示一堆如下错误:c:/Program Files/Microsoft Visual Studio .NET 2003/Vc7/include/cerrno(18): error C2143: 语法错误 : 缺少“{”(在“:”的前面)找了很长时间,最终的原因是:在我的源文件中使用了C++的库函数,但是我却将这个源文件的后缀名写成.c而不是.cpp,将其
2008-05-02 14:48:00 23027 6
原创 switch语句使用时注意事项
如下代码编译时编译器给出如下错误:error C2361: “default”标签跳过“temp1”的初始化操作void main(){ int i; switch(i) { case 1: int temp1 = 1; break; default: break;
2008-03-28 11:41:00 7398 2
原创 RAII惯用法:C++资源管理的利器
RAII惯用法:C++资源管理的利器RAII是指C++语言中的一个惯用法(idiom),它是“Resource Acquisition Is Initialization”的首字母缩写。中文可将其翻译为“资源获取就是初始化”。虽然从某种程度上说这个名称并没有体现出该惯性法的本质精神,但是作为标准C++资源管理的关键技术,RAII早已在C++社群中深入人心。我记得第一次学到RAII惯用法是在
2008-03-25 16:09:00 934
原创 Windows下Openssl安装以及编程(VC.net环境)
准备: 1.下载ActivePerl-5.8.0.806-MSWin32-x86并安装:http://www.sogoz.info/down.asp?id=3683&no=12.下载 openssl0.98并解压。http://www.openssl.org/source/openssl-0.9.8.tar.gz 安装步骤:完全可以参照openssl目录下的
2008-02-15 16:04:00 1462
原创 CreateThread、_beginthreadex和AfxBeginThread的区别
一直对这三个创建线程的方法都搞不清楚,不知道在什么情况下该用那种方法,下面是从网上摘录的一些帖子:1、不要在一个MFC程序中使用_beginthreadex()或CreateThread()。 这句话的意思是由于AfxBeginThread()是MFC封装的启动线程的函数,里面包含了很多和MFC相关的启动信息,而且封装了一些常用的操作,使用起来也比较简便。而用另外两个函数就需
2007-12-23 15:38:00 1987
原创 VC中如何实现自定义消息
假设要为CMymessageDlg对话框定义一个自定义的消息,步骤如下:1. 在CMymessageDlg的头文件中添加如下宏定义: #define WM_MYMESSAGE (WM_USER+100)2. 在CMymessageDlg的头文件中添加如下函数声明: afx_msg void OnMymessage(WPARAM wP
2007-12-12 16:17:00 927
原创 通过Event事件正确结束线程
步骤:1. 首先声明一个全局的Event对象 HANDLE hRequestExitEvent = FALSE;2. 在主线程中创建这个Event对象 hRequestExitEvent = CreateEvent(NULL, TRUE, false, NULL); 注意:此处的第三个参数应该使用false,因为如果使用true在事
2007-10-30 11:34:00 2246
原创 程序Debuge版本编译通过,Release版本出现链接错误,解决办法
使用VC6.0开发了一个控制台程序,里面使用了外部的一个DLL,在Debuge版本下能够编译调试通过,但在Release下链接错误提示无法找到DLL中的函数。 错误原因:程序在Debuge版本下在Link选项中添加了DLL的Lib库而在Release版本时没有在Link选项中添加了DLL的Lib库。 解决办法:在Release版本的Link选项中添加了DLL的Lib库。
2007-10-23 09:40:00 2095 1
Beginning.Kinect.Programming.with.the.Microsoft.Kinect.SDK(2012)].Jarrett.Webb
2012-07-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人