自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 收藏
  • 关注

转载 包含Winsock2.h出错问题

工程中添加Winsock2.h 报错 1>c:\program files (x86)\windows kits\8.1\include\shared\ws2def.h(100): warning C4005: 'AF_IPX' : macro redefinition1> c:\program files (x86)\windows kits\8.1\...

2016-10-27 09:39:00 958

转载 LNK2005 连接错误解决办法

LNK2005 连接错误解决办法nafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) 已经在 LIBCMTD.lib(new.obj) 中定义nafxcwd.lib(afxmem.obj) : error LNK2005: "void __cd...

2016-10-24 17:38:00 342

转载 转载:C++ typename的起源与用法

转载:http://feihu.me/blog/2014/the-origin-and-usage-of-typename/#typename 侯捷在Effective C++的中文版译序中提到: C++的难学,还在于它提供了四种不同(但相辅相成)的程序设计思维模式:procedural-based, object-based, object-oriented, generics...

2016-08-12 21:47:00 113

转载 转载:九宫切图介绍

转载:http://bbs.cskin.net/thread-62-1-1.html 九宫切图在控件美化的时候会经常的用到 比如: 最左边的是一个按钮的素材、、假设要把它做成一个按钮、、但是 需要用的按钮是多大不确定的、总不能一个按钮做一张图吧?而如果直接对图片进行拉升什么的 明显可以看到右边的两个看着怪别扭、于是乎 这个时候九宫切图出场了 所谓九宫切图 其实就是把...

2015-11-03 17:00:00 332

转载 fatal error LNK1104: 无法打开文件“libc.lib”的问题

如果将用低版本的VC开发的项目,拿到高版本的VC开发环境上去编译,链接时也许会触发LNK1104错误。解决方案是链接时忽略此库,在此提供三种解决方案: 1、解决如下:项目->属性中->配置属性->链接器->输入->在忽略特定库 2、解决如下:项目->属性->配置...

2014-07-09 21:07:00 267

转载 [转载]DirectX SDK (June 2010)安装错误S1023,解决方法

导致这个错误的原因是在安装DirectXSDK(June2010)之前。我就安装了VS2010。 所以也就安装了: MicrosoftVisualC++2010x86Redistributable MicrosoftVisualC++2010x64Redistributable 而DirectXSDK(Ju...

2014-05-19 11:17:00 119

转载 explicit浅谈

在C++中,explicit关键字主要用于防止隐式转换,用于修饰构造函数、复制构造函数。 例如有一个类: class A { public: A( int count ) : m_data( count ){} private: int m_data; }; int main() { A a = 0; //ok , ...

2014-04-30 21:30:00 84

转载 C++术语

声明( declaration )是告诉编译器某个东西的名称和类型( type ),但略去细节。 下面是声明的例子: extern int x; //对象(object )声明 size_t numDigits( int number ); //函数声明( function ) 声明 class Widget; //类( class )声明 ...

2014-04-30 17:13:00 82

转载 C++ 静多态与动多态

多态是指通过单一的标识支持不同的特定行为的能力。 C++中有两种多态,称为动多态(运行期多态)和静多态(编译期多态),而静多态主要通过模板来实现,宏也是实现静多态的一种途径。 动多态在C++中是通过虚函数实现的,即在基类中存在一些接口(一般为纯虚函数),子类必须重载这些接口。这样通过使用基类的指针或者引用指向子类的对象,就可以实现调用子类对应的函数的功能。动多态的函数调用机制是执行期...

2014-04-16 21:22:00 108

转载 window下线程同步之(Event Objects(事件))

Event 方式是最具弹性的同步机制,因为他的状态完全由你去决定,不会像 Mutex 和 Semaphores 的状态会由类似:WaitForSingleObject 一类的函数的调用而改变,所以你可以精确的告诉 Event 对象该做什么事?以及什么时候去做! HANDLE CreateEvent( LPSECURITY_ATTRIBUTES lpEventAttribut...

2014-04-15 16:59:00 86

转载 window下线程同步之(Semaphores(信号量))

HANDLE WINAPI CreateSemaphore( _In_opt_ LPSECURITY_ATTRIBUTES lpSemaphoreAttributes _In_ LONG lInitialCount, _In_ LONG lMaximumCount, _In_opt_ LPCTSTR lpName ); ...

2014-04-15 12:39:00 448

转载 window下线程同步之(Mutex(互斥器) )

使用方法: 1、创建一个互斥器:CreateMutex; 2、打开一个已经存在的互斥器:OpenMutex; 3、获得互斥器的拥有权:WaitForSingleObject、WaitForMultipleObjects 等一类等待的函数……(可能造成阻塞); 4、释放互斥器的拥有权:ReleaseMutex; 5、关闭互斥器:CloseHandle; 函数原型:...

2014-04-14 20:24:00 424

转载 window下线程同步之(Critical Sections(关键代码段、关键区域、临界区域)

关键区域(CriticalSection) 临界区是为了确保同一个代码片段在同一时间只能被一个线程访问,与原子锁不同的是临界区是多条指令的锁定,而原子锁仅仅对单条操作指令有效;临界区和原子锁只能控制同一个进程中线程的同步 使用方法: 1、初始化:InitializeCriticalSection; 2、删除:DeleteCriticalSection; 3、进入:En...

2014-04-14 18:53:00 137

转载 window下线程同步之(原子锁)

原子锁:当多个线程同时对同一资源进行操作时,由于线程间资源的抢占,会导致操作的结果丢失或者不是我们预期的结果。 比如:线程A对一个变量进行var++操作,线程B也执行var++操作,当线程A执行var++时,如果线程切换时间恰好是线程A将结果存在var变量之前,那么线程B继续执行var++;此时假设var值已经被线程B更新,这时轮流到线程A执行,线程A会将接着上次停止的点继续向下执行,...

2014-04-14 15:47:00 95

转载 模版的完全特化与偏特化

模版特化:任何针对模版参数进一步进行条件限制设计的特化版本。 <<泛型思维>> 完全特化:针对所有的模版参数进行特化。 <<c++ primer>> 举例如下: template<class T,class N> class Template{}; 全特化: template<&g...

2014-04-11 21:00:00 69

转载 [转]windows消息机制(MFC)

消息分类与消息队列 Windows中,消息使用统一的结构体(MSG)来存放信息,其中message表明消息的具体的类型, 而wParam,lParam是其最灵活的两个变量,为不同的消息类型时,存放数据的含义也不一样。 time表示产生消息的时间,pt表示产生消息时鼠标的位置。 按照类型,Windows将消息分为: (0) 消息ID范围 系统定义消息ID范围:[0x00...

2014-04-06 17:21:00 76

转载 MFC宏常识

1、宏就是用宏定义指令#define定义一个标识符,用它来表示一个字符串或一段源代码。 MFC宏作为MFC类库的一个组成部分在MFC应用程序中经常出现。 MFC宏在路径 ".../Microsoft Visual Studio/VC/atlmfc/include" 下的Afxwin.h、Afx.h及Afxmsg_.h等MFC头文件中分别进行了定义。 (1)常用的MFC宏...

2014-04-06 17:06:00 264

转载 半透明AlphaBlend

AlphaBlend 函数功能:该函数用来显示透明或半透明像素的位图。 函数原型: BOOL AlphaBlend( HDC hdcDest, // handle to destination DC int nXOriginDest, // x-coord of upper-left corner ...

2014-04-06 15:33:00 211

转载 new、operator new、placement new

首先我们区分下几个容易混淆的关键词: new、operator new、placement new new和delete操作符我们应该都用过,它们是对堆中的内存进行申请和释放,而这两个都是不能被重载的。要实现不同的内存分配行为,需要重载operator new,而不是new和delete。 operator new (1) 只分配所要求的空间,不调用相关对...

2014-03-25 20:49:00 60

转载 DuplicateHandle

功能:将一个进程内的伪句柄,转化为可以用来进程间通信的实句柄 BOOL DuplicateHandle( HANDLE hSourceProcessHandle, HANDLE hSourceHandle, HANDLE hTargetProcessHandle, LPHANDLE lpTargetHandle, DWORD dwDesiredAccess, BOOL bI...

2014-03-02 16:21:00 236

转载 list 迭代器随机范围内移动

Increments an iterator by a specified number of positions. template<class InputIterator, class Distance> void advance( InputIterator& _InIt, Distance _...

2013-11-26 15:56:00 70

转载 win32 右键弹出菜单

#define CW_ABOUT 100 #define CW_DOCUMENT 200 POINT t; GetCursorPos(&t); HMENU hMenu,hPopupMenu; hMenu=CreatePopupMenu(); hPopupMenu=CreatePopupMenu(); AppendMenu(hMenu,MF_...

2013-11-22 15:28:00 138

转载 CWnd创建WS_CHILD和WS_POPUP窗口的不同

转载:http://blog.csdn.net/tangaowen/article/details/6054152 最近在写一个从CWnd派生出来的自绘窗口,以前在包装自己的类的Create函数都是这么写的: BOOL CXXX::Create(DWORD dwStyle, const RECT &rect, CWnd *pParentWnd, UINT nID, C...

2013-11-20 19:29:00 177

转载 友元函数和友元类

友元提供了不同类的成员函数之间、类的成员函数与一般函数之间进行数据共享的机制。通过友元,一个不同函数或另一个类中的成员函数可以访问类中的私有成员和保护成员。c++中的友元为封装隐藏这堵不透明的墙开了一个小孔,外界可以通过这个小孔窥视内部的秘密。 友元的正确使用能提高程序的运行效率,但同时也破坏了类的封装性和数据的隐藏性,导致程序可维护性变差。 友元函数 : 友元函数是可以直接访问类...

2013-11-19 20:09:00 105

转载 Duilib技巧:背景图片平铺

转载:http://hi.baidu.com/gahaa/item/978b3240f78f7ef5dd0f6c63 贴图的描述方式有两种: // 1、aaa.jpg // 2、file='aaa.jpg' res='' restype='0' dest='0,0,0,0' source='0,0,0,0' corner='0,0,0,0' //...

2013-11-19 16:00:00 85

转载 WinDBG 技巧:如何生成Dump 文件(.dump 命令)

程序崩溃(crash)的时候, 为了以后能够调试分析问题, 可以使用WinDBG要把当时程序内存空间数据都保存下来,生成的文件称为dump 文件。 步骤: 1) 打开WinDBG并将之Attach 到crash的程序进程 2) 输入产生dump 文件的命令 WinDBG产生dump 文件的命令是 .dump ,可以选择不同的参数来生成不同类型的dump文件。 选项(1): /m ...

2013-08-19 16:25:00 68

转载 UpdateData、Invalidate、InvalidateRect和UpdateWindow及RedrawWindow

Invalidate 在消息队列中加入一条WM_PAINT消息,其无效区为整个客户区。 窗口的客户区无效意味着需要重绘。例如,如果一个被其它窗口遮住的窗口变成了前台窗口,那么原来被遮住的部分就是无效的,需要重绘。 理论:这时Windows会在应用程序的消息队列中放置WM_PAINT消息。MFC为窗口类提供了WM_PAINT的消息处理函数OnPaint,OnPaint负责重绘...

2013-08-18 21:23:00 150

转载 [转]CreateDIBitmap与CreateDIBSection

首先明确最主要区别:CreateDIBitmap创建的是设备相关位图句柄 - HBITMAP. CreateDIBSection创建的是设备无关位图句柄 - HBITMAP. DIB和DDB之间的相互转换比较慢(关于DIB与DDB区别详见《设备相关(DDB)与设备无关(DIB)》),所以我们使用CreateDIBSect...

2013-08-17 17:39:00 145

转载 BMP文件组成

BMP文件组成BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成。 如图: 位图文件头BITMAPFILEHEADER 位图信息头BITMAPINFOHEADER 调色板Palette 实际的位图数据ImageDate ...

2013-08-17 16:13:00 188

转载 C++ 类声明 类前置声明范例

在编写C++程序的时候,偶尔需要用到前置声明(Forward declaration)。下面的程序中,带注释的那行就是类B的前置说明。这是必须的,因为类A中用到了类B,而类B的声明出现在类A的后面。如果没有类B的前置说明,下面的程序将不同通过编译,编译器将会给出类似“缺少类型说明符”这样的出错提示。 代码一: // ForwardDeclaration.h #include &lt...

2013-08-07 20:54:00 69

转载 【转载】Window 窗口层次关系

相信在Window 下面编程的很多兄弟们都不是很清楚Window 中窗口的层次关系是怎么样的,这个东西很久已经研究过一下,后来又忘记了,今天又一次遇到了这个问题,所以便整理一下。下面就说说Window 中桌面(Deskkop)以及顶层窗口,以及子窗口之间的关系。 在Window 的图形界面下,最基本显示信息的元素就是窗口,每一个W...

2013-07-20 12:09:00 82

转载 【转】各种字符编码转换

#pragma once #include <string> #include <Windows.h> using namespace std; #define SAFE_DELETE_ARRAY(p)\ if (p != NULL)\ {\ delete [] p;\ p = NULL;\ }\ namesp...

2013-05-28 15:45:00 72

转载 "Gdiplus::GdiplusBase::operator new 函数不接受3 个参数"问题的处理

遇到这样的问题令我极为郁闷,于是查找了一下,找到了解决方案:原来是微软的 DEBUG_NEW 和 GDI+ 不匹配造成的。 方法1: 注释掉: #ifdef _DEBUG #define new DEBUG_NEW #endif 这就好了。 方法2: ::new Bitmap(cx,cy,PixelFormat32bppRGB); //加上全局作用域说明符...

2013-05-03 18:13:00 96

转载 旋转字体

CPaintDC dc(this); //获得设备上下文 CFont m_font; dc.SetBkMode(TRANSPARENT); //设置背景透明 CRect m_rect; GetClientRect(m_rect); ...

2013-04-02 14:28:00 80

转载 c++的四种类型转换

一直对这四种转换类型都没好好的研究过,用得最多的还是C的强制转换 (TYPE)m_obj; C++有四种类型转换: 1.static_cast 用法:static_cast < type-id > ( expression )该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。 ①用于类层次结构中基类(父类)和派生类(子...

2013-03-29 18:03:00 58

转载 #pragma 预处理指令详解[转载]

在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C ++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 其格式一般为: #Pragma Para 其中Para 为参数,下面来看一...

2013-03-29 17:44:00 79

转载 Windows消息循环模型

简单的放一个最基本的win32程序吧 #include <windows.h> LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ; int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, ...

2013-03-28 19:01:00 143

转载 _UNICODE & _MBCS

Unicode的出现是为了适应软件国际化的需要。Unicode不同于双字节字符集(DBCS)。 一、相关操作函数 1、DBCS使用下面的函数操作字符串: CharNext——获得后一个字符 CharPrev——获得前一个字符 IsDBCSLeadByte——判断是否为两个字节字符的第一个字节 C++运行期库提供了以"_mbs"开头的一系列的函数操作DBCS。类似的函...

2013-03-20 12:39:00 86

转载 变长参数函数

变长参数的函数即参数个数可变、参数类型不定 的函数。 设计一个参数个数可变、参数类型不定的函数是可能的,最常见的例子是printf函数、scanf函数和高级语言的Format函数。在C/C++中,为了通知编译器函数的参数个数和类型可变(即是不定的、未知的),就必须以三个点结束该函数的声明。 // printf函数的声明 int printf(const char * ...

2013-03-20 12:14:00 50

转载 特殊成员变量的初始化

// 有些成员变量的数据类型比较特别,它们的初始化方式也和普通数据类型的成员变量有所不同。这些特殊的类型的成员变量包括: // a. 常量型成员变量 如:const int i; // b. 引用型成员变量 如:int &i; // c. 静态成员变量 如:static int i; // d. 整型静态常量成员变量 ...

2013-03-19 12:13:00 48

空空如也

空空如也

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

TA关注的人

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