自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (7)
  • 收藏
  • 关注

原创 SVN安装(linux)

简介svn是集中是版本控制系统git是分布式版本控制系统目前主流的还是svn,适合小团队开发进行版本控制。大团队使用会有弊端。SVN服务端运行方式SVN服务常见的运行方式有3种:1、独立服务访问访问地址如:svn://192.168.1.2/test2、借助apache等http服务访问地址如:http://svn.test.org/test3、本地

2017-10-13 09:36:04 430

原创 DirectShow中获取Filter上的输入输出PIN

获取输入和输出PIN函数实现:返回值:是要查找的PIN参数:pFilter:从这个Filter上查找PinDir:查找方向函数实现如下所示:IPin * GetPin(IBaseFilter * pFilter, PIN_DIRECTION PinDir){BOOL bFound = FALSE;IEnumPins * pEnum;IPin *pPin;

2017-06-08 11:09:28 1213

原创 指针和引用的区别

(1)非空区别。在任何情况下都不能使用指向空值得引用。一个引用必须总是指向某些对象。因此如果你使用一个变量并让它指向一个对象,但是该变量在某些时候也可能不指向任何对象,这时你就应该把变量声明成指针,因为这样你可以赋空值给该变量。相反,如果变量肯定指向一个对象,例如你的设计不允许变量为空,这时你就可以把变量声明为引用。不存在指向空值得引用这个事实意味着使用引用的代码效率比使用指针要高。(2)合法

2017-02-23 13:07:01 314

原创 C++中重载 覆盖 隐藏的区别

重载:重载特性:(1)相同的范围(2)函数名字相同(3)参数不同(4)virtual关键字可有可无class A{public:void Func(int a, int b);void Func(int a);};这就是对函数进行了重载。注:对于全局函数也是可以重载的,第一个条件中只要范围相同就可以。覆盖覆盖的特性:(1)不同的范围(

2017-02-22 14:45:20 277

原创 C++中常量指针和指针常量

常量指针常量指针是指向常量的指针,指针指向的内存地址的内容是不可以改变的。常量指针的定义“const int * p = &a;”,告诉编译器*p是常量,不能将*p作为左值进行操作。但是这里的指针p还是一个变量,它的内容存放常量的地址,所以先声明常量指针再初始化是允许的,指针也是允许修改的。例如:int a =0,b=1;const int * p; // 声明一个常量指针pp

2017-02-22 12:13:55 270

原创 简单实现C中sizeof函数是怎么实现的(面试的时候可能用到)

限于个人水平有限,有什么不妥之处,请留言。#define mysizeof(Value) ((char*)(Value + 1) - (char*)(Value))目前用我的系统测试:// 定义一个数组int a[2];printf("%d\n", mysizeof(a));显示的结果是:4

2017-02-17 17:18:01 618 2

原创 win32 MFC中捕获鼠标信息

第一种方法:// 窗口句柄HWND lhwnd;HCURSOR lhCursor;DWORD dwThreadID = ::GetWindowThreadProcessId(hWnd, NULL);DWORD dwCurThreadID = ::GetCurrentThreadId();if (dwThreadID != dwCurThreadID){if (:

2017-02-17 10:51:14 746

原创 VS+QT实现语言自动切换

需要在被翻译的字符串前加tr标示,如QString=tr(“hello world”);这很重要,因为翻译工具会把源码中tr标识的字符串提取出来,翻译成其他语言,如果没有用tr标识的,不会被工具提取。在界面中输入的文字,默认已经是加上tr的了,所以在翻译时也能看见。建议:在程序中的字符串使用英文,汉语等通过多国语翻译来实现,而不要采取把汉字写在代码中。实现语言切换要用到qm文件,而要创建qm文

2015-12-02 16:21:23 1348

原创 单例模板类的实现

templateclass CSingleton{public:static T& Instance();private:static void MakeInstance();static void DestroySingleton();static T* m_pInstance;private:CSingleton();CSingleton(const

2015-11-24 12:10:12 434

原创 重载运算符new和delete

1、在类内重载new和delete,相当于是成员变量(局部重载)使用new分配新对象的时候,会先调用new重载函数,然后在调用构造函数。调用方式和系统的new的用法是一样的。头文件#include #include #include using namespace std;class OperatorNew{private:int x,y,z;p

2015-11-02 11:48:58 678

原创 设计模式-装饰模式(Decorator Pattern)

应用场景:1、  想透明并且动态地给对象增加新的职责的时候。2、  给对象增加的职责,在未来存在增加或减少可能。3、  用继承扩展功能不太现实的情况下,应该考虑用组合的方式。优点:装饰模式与继承关系的目的都是要扩展对象的功能,但是装饰模式可以提供比继承更多的灵活性。通过使用不同的具体装饰类以及这些装饰类的排列组合,设计师可以创造出很多不同行为的组合。这种比继承更加灵

2015-07-23 14:32:14 410

原创 设计模式-桥接模式(Bridge Pattern)

应用场景:  1适用在需要跨多平台的图形和窗口系统。   2当需要用不同的方式改变接口和实现时。    3通过上述的介绍,我们了解为什么需要桥接模式(Bridge)和如何使用桥接模式(Bridge),由于对象的多维度的变化,使得难以决定变化时,我们可以把对象     和变化抽象出来。     如果我们的对象依赖于抽象,对于具体的实现并不关心,我们可以通过对象组合,组合出我们

2015-07-23 14:22:49 338

原创 设计模式-适配器模式(Adapter Pattern)

应用场景:1 系统需要使用现有的类,而这些类的接口不符合系统的接口。2 想要建立一个可以重用的类,用于与一些彼此之间没有太大关联的一些类,包括一些可能在将来引进的类一起工作。3 两个类所做的事情相同或相似,但是具有不同接口的时候。4 旧的系统开发的类已经实现了一些功能,但是客户端却只能以另外接口的形式访问,但我们不希望手动更改原有类的时候。5 使用第三方组件,组件接口定义和

2015-07-23 13:58:50 357

原创 设计模式-原型模式(Prototype)

应用场景:1、资源优化场景类初始化需要消化非常多的资源,这个资源包括数据、硬件资源等。2、性能和安全要求的场景通过new产生一个对象需要非常繁琐的数据准备或访问权限,则可以使用原型模式。3、一个对象多个修改者的场景一个对象需要提供给其他对象访问,而且各个调用者可能都需要修改其值时,可以考虑使用原型模式拷贝多个对象供调用者使用。在实际项目中,原型模式很少单独出现,一般

2015-07-21 17:21:22 304

原创 设计模式-工厂方法模式(Factory Method)

应用场景:1.类不知道自己要创建哪一个对象2.类用它的子类来指定创建哪个对象3.客户需要清楚创建了哪一个对象优点:1、多态性:客户代码可以做到与特定应用无关,适用于任何实体类。2、子类提供挂钩。基类为工厂方法提供缺省实现,子类可以重写新的实现,也可以继承父类的实现。-- 加一层间接性,增加了灵活性3、连接并行的类层次结构。4、良好的封装性,代码结构清晰。5、

2015-07-21 17:19:56 430

原创 设计模式-建造者模式(Builder)

应用场景:1、相同的方法,不同的执行顺序,产生不同的事件结果时,可以采用建造者模式。2、多个部件或零件,都可以装配到一个对象中,但是产生的运行结果又不相同时,则可以使用该模式。3、产品类非常复杂,或者产品类中的调用顺序不同产生了不同的效能,这个时候使用建造者模式是非常合适。4、在对象创建过程中会使用到系统中的一些其它对象,这些对象在产品对象的创建过程中不易得到时,也可以采用建造

2015-07-21 17:13:48 297

原创 设计模式-抽象工厂(Abstract Factory)

应用场景:1、一个系统不应当依赖于产品类实例如何被创建、组合和表达的细节,这对于所有类型的工厂模式都是重要的。2、系统中有多于一个的产品族,而每次只使用其中某一产品族。3、属于同一个产品族的产品将在一起使用,这一约束必须在系统的设计中体现出来。4、系统提供一个产品类的库,所有的产品以同样的接口出现,从而使客户端不依赖于具体实现。优点:1、抽象工厂模式隔离了具体类的生产,

2015-07-21 17:03:26 351

原创 设计模式-单例模式(Singleton Pattern)

应用场景:1. Windows的Task Manager(任务管理器)就是很典型的单例模式2. windows的Recycle Bin(回收站)也是典型的单例应用。在整个系统运行过程中,回收站一直维护着仅有的一个实例。3. 网站的计数器,一般也是采用单例模式实现,否则难以同步。4. 应用程序的日志应用,一般都何用单例模式实现,这一般是由于共享的日志文件一直处于打开状态,因为只能

2015-07-21 16:58:34 381

原创 duilib中添加自定义控件之后怎么能够在xml文件中配置使用

添加自定义控件可能有两种不同的情况:1、  在duilib库中添加的自定义控件。2、  在我们的应用程序中自己重写了一个控件。下面开始讲解不同的情况下怎么才能支持在xml文件配置控件:1、  库中情况假如自定义的控件是CGifUI类。库中情况相对是比较简单的,只需在分析xml文件时候将控件创建出来就行了,所以我找到的函数是CControlUI*CDialogBuilde

2015-07-21 16:53:26 2987

原创 win32窗口按照屏幕居中

RECT rc, rc1, rctomove;  int width = GetSystemMetrics(SM_CXSCREEN);  int height = GetSystemMetrics(SM_CYSCREEN);  rc.left = 0;  rc.top = 0;  rc.right = width;  rc.bottom = height;  GetCl

2014-11-27 13:47:38 2215

原创 GetSaveFileName弹出文件选择框居中显示

OPENFILENAME ofn;ZeroMemory(&ofn, sizeof(ofn));TCHAR strfilename[521];// = suggested_name.ToWString();StrCpyW(strfilename, suggested_name.ToWString().c_str());ofn.lpstrFile = (LPWSTR)strfilena

2014-11-14 17:52:28 1985

原创 C++ 创建深层次目录

// 将单字节转化成宽字节的字符串std::wstring s2ws(const std::string& s){int len;int slength = (int)s.length() + 1;len = MultiByteToWideChar(CP_ACP, 0, s.c_str(), slength, 0, 0);wchar_t* buf = new wchar_t

2014-11-14 16:20:35 648

原创 DuiLib编译时提示“ 无法打开文件“Riched20.lib””

1.首先移除项目中包含的Riched20.lib静态库,在linker中。

2014-11-05 10:26:40 5217 1

原创 DuiLib实现自定义控件

在DuiLib中实现自定义控件,和

2014-10-30 15:23:24 7080

转载 NSIS创建任务栏快速启动快捷方式方法

;创建快捷方式Function CreateBarlnk    ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" "CurrentVersion"    ${if} $R0 >= 6.0    SetOutPath $INSTDIR    CreateShortC

2014-10-30 11:00:12 2251

原创 NSIS制作安装包(二)

接着”NSIS制作安装包(一)“

2014-08-28 10:43:15 1764 2

原创 NSIS制作安装包(一)

NSIS简介:NISIS是

2014-08-28 10:29:16 3342

转载 HTTP协议详解

引言                                        HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of

2014-08-22 13:53:04 457

原创 如何解决Firefox26第三方插件无法工作,提示需要激活?

如何解决Firefox26第三方插件无法工作,提示需要激活?在火狐26中默认开启了click to play功能,因此在日常上网中会造成第三方插件工作异常的问题。Click to play是mozilla针对目前泛滥的第三方NPAPI插件,导致火狐的各种安全问题及性能问题,引入的新的拦截机制。启用click to play后,所有网站在运行第三方插件,flash除外,其他诸如支付宝数字证书

2014-08-12 10:25:04 1147

原创 手动编写最简单win32窗口

#includeHINSTANCE g_hInstance = 0;LRESULT WINAPI WndProc( HWND hWnd, UINT uMsg,  WPARAM wParam, LPARAM lParam ){switch( uMsg ){case WM_DESTROY:PostQuitMessage( 0 );break;}return

2014-08-08 14:28:32 451

原创 火狐NP插件开发 C++

由于接触NP插件的时间还是比较短,下面总结一下自己对NP插件的理解。  NP插件还是对现有类的重载,然后实现自己想用的方法。在后面会具体的讲怎么用这样的方法。1、NP插件所要用到的官方的文件:A、npapi.hB、npfunctions.hC、npruntime.hD、nptypes.h上面是几个要用到的头文件A、np_entry.cppB、npn_gate.c

2014-08-08 11:37:04 5404 1

原创 WIN32字符串转换

用到的主要函数是WideCharToMultiByte,在这个函数中主要的是

2014-08-06 13:00:27 1536

原创 DuiLib的第一个win32程序

DuiLib主要用于创建一个漂亮的界面程序,界面的全部定义放到了xml文件中保存。程序加载xml文件中的内容就能够显示之前定义的界面。定义可以用DuiLib提供的一个工具UIDesigner.exe进行定义,如果你技术足够好的话也可以自己编写xml文件。下面看一下用UIDesigner.exe定义的一个简单界面: 下面看一下在xml文件中定义形式:    第二个测试文本框"

2014-07-25 09:48:03 1078

Qt及Qt Quick开发实战精解.pdf

看这个还可以,qt quick部门多看几遍感觉写的还是不错的。

2015-12-02

VS2010+Qt4.8.3实现语言切换

只是实现了两个窗口的语言的切换,英语和汉语。可以下载下来看看结果。

2015-12-02

火狐NP插件开发

对应本人的博客文档,其中讲述了创建的全部过程。

2014-08-08

大话云计算.郎为民.扫描版.pdf

大话云计算扫描版,还算清晰。希望大家下载。

2014-03-07

C++Builder6.0界面开发实例

主要讲解了C++Builder中的界面开发的实例,对初学者有很大的帮助。值得一看。

2013-02-03

空空如也

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

TA关注的人

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