自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(117)
  • 资源 (3)
  • 收藏
  • 关注

原创 Simultaneous minimum and maximum (Solution to algorthm)

if we want to get both  the Min and Max number from the unsorted sequence ,and we want it's less than 2n comparisions.so we can get it at most 3(n/2) comparisions;And it is the algorthm followed

2012-12-06 20:50:02 481

转载 Radix Sort

转自:http://www.2cto.com/kf/201211/166745.html通俗理解:结合计数排序,通过对待排数组中元素每一位进行排序,最终达到对整个数组排序的效果。观看动态过程[cpp] #include  #include  #define MAXK 10 int get_int(void); int count_sort (int*array,in

2012-12-06 09:40:47 499

转载 vs201中添加splashScreen

作者信息:罗树鹏  http://www.cnblogs.com/luoshupeng由于笔者在实践过程中走了一些弯路,所以把这些情况记录下来,希望为后来者提供一些经验。在VC6.0时代,可以通过组件为工程加入SplashScreen,具体方法是通过IDE中的菜单Project->Add to Project->Componentsand Controls,就可以从Visual C++ C

2012-11-21 10:14:15 3431

转载 workthread 和 UIthread

一、线程产生篇:它们都需要呼叫AfxBeginThread 以产生一个 CWinThread 对象,并在创建对象的时候定义其消息响应函数,下面代码是work thread所呼叫的AfxBeginThread函数:CWinThread* pThread = AfxBeginThread(ThreadFunc, &Param);函数原型是:CWinThread* AFXAPI AfxB

2012-11-20 10:45:12 809

转载 临界区的使用

转自:http://blog.sina.com.cn/s/blog_43eb83b90100gb4a.html1.CriticalSectionCriticalSection是在控制台程序等非MFC程序中可直接使用的临界区。基本手法是这样的:CRITICAL_SECTIONg_cs;                定义一个临界区对象InitializeCriticalS

2012-11-20 09:48:52 1231

转载 DECLARE_DYNAMIC 和 IMPLEMENT_DYNAMIC

IMPLEMENT_DYNAMIC是实现“运行时类型识别”宏,与之相对应的是DECLARE_DYNAMIC(声明“运行时类型识别”宏)。也就是说你在.CPP文件中如果看见有IMPLEMENT_DYNAMIC,则在.H文件中必定有DECLARE_DYNAMIC的声明。DECLARE_DYNAMIC/DEClARE_DYNAMIC是为了确定运行时对象属于哪一个类而定义的宏。 DEClARE

2012-11-04 17:05:15 911

转载 位运算

转自http://blog.csdn.net/zhongjiekangping/article/details/6855864用位运算实现加法也就是计算机用二进制进行运算,32位的CPU只能表示32位内的数,这里先用1位数的加法来进行,在不考虑进位的基础上,如下 1 + 1 =01 + 0 =10 + 1 =10 + 0 =0很明显这几个表达式可以用位运

2012-11-02 08:52:28 638

转载 c/c++

第 1章 C语言 1 指针C语言中定义字符串的两种形式:char a[]="hello world";char *b="hello world";对于这两种形式的区别和联系可以使用下面的操作进行区别:(1)sizeof(a)=strlen(a)+1;//主要是C语言中对于字符串的存储特点,会自动的以'\0'作为结束标志。sizeof(b)=4;(2)strlen(a

2012-11-01 17:28:12 563

转载 union 和union all 的区别

假设我们有一个表Student,包括以下字段与数据: [c-sharp] view plaincopyprint?drop table student;    create table student  (  id int primary key,  name nvarchar2(50) not null,  score number not null  );

2012-11-01 11:00:49 362

转载 栈增长和大端/小端问题

栈增长和大端/小端问题是和CPU相关的两个问题。在内存管理中,与栈对应是堆。对于堆来讲,生长方向是向上的,也就是向着内存地址增加的方向;对于栈来讲,它的生长方式是向下的,是向着内存地址减小的方向增长。在内存中,“堆”和“栈”共用全部的自由空间,只不过各自的起始地址和增长方向不同,它们之间并没有一个固定的界限,如果在运行时,“堆”和 “栈”增长到发生了相互覆盖时,称为“栈堆冲突”,系统肯定垮台。

2012-11-01 09:36:28 583

转载 VC下Debug和Release区别

VC下Debug和Release区别最近写代码过程中,发现 Debug 下运行正常,Release 下就会出现问题,百思不得其解,而Release 下又无法进行调试,于是只能采用printf方式逐步定位到问题所在处,才发现原来是给定的一个数组未初始化,导致后面处理异常。网上查找了些资料,在这 罗列汇总下,做为备忘~一、Debug 和 Release 的区别         Debu

2012-10-31 08:54:29 483

转载 进程间通信详解 - 动态链接库实现

转自http://blog.csdn.net/wangweitingaabbcc/article/details/6966795引子前面介绍的几种用于实现进程之间通信的方法都是比较正统的方式,像剪贴板,命名管道这些都还是用得比较多的,而这里将介绍的是一种比较偏门的方法来实现进程间的通信,所谓偏门呢,自然就是用的少,能够不用就不要使用。其实这种方法就是通过动态链接库来实现

2012-10-24 11:19:00 738

转载 VC++中进程间相互通信的十一种方法

进程通常被定义为一个正在运行的程序的实例,它由两个部分组成:  一个是操作系统用来管理进程的内核对象。内核对象也是系统用来存放关于进程的统计信息的地方  另一个是地址空间,它包含所有的可执行模块或DLL模块的代码和数据。它还包含动态分配的空间。如线程堆栈和堆分配空间。每个进程被赋予它自己的虚拟地址空间,当进程中的一个线程正在运行时,该线程可以访问只属于它的进程的内存。属于其它进程的

2012-10-22 11:22:46 1066

转载 C++ 虚函数表解析

转载自http://blog.csdn.net/haoel/article/details/1948051/#t8  作者 陈皓http://blog.csdn.net/haoel前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。

2012-10-18 10:59:55 488

转载 c++ 初始化列表

与其他函数不同,构造函数除了有名字,参数列表和函数体之外,还可以有初始化列表,初始化列表以冒号开头,后跟一系列以逗号分隔的初始化字段。struct foo{   string name ;   int id ;   foo(string s,int i):name(s), id(i){} ;//初始化列表}; 构造函数的两个执行阶段从概念上来

2012-10-18 10:02:49 642

转载 C/C++中的static

C/C++中的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类的问题。A.      面向过程程序设计中的static关键字1)      静态全局变量         在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。静态全局变量定义和使用类似:         #inclu

2012-10-18 09:11:15 697

转载 static 变量初始化问题

首先static变量只有一次初始化,不管在类中还是在函数中..有这样一个函数:[c-sharp] view plaincopyvoid Foo()  {      static int a=3; // initialize       std::cout     a++;  }  这里的static int a

2012-10-11 21:59:55 1375

转载 数组 按行,列存储

二维数组二维数组Amn可视为由m个行向量组成的向量,或由n个列向量组成的向量。 数组的顺序存储方式由于计算机内存是一维的,多维数组的元素应排成线性序列后存人存储器。数组一般不做插入和删除操作,即结构中元素个数和元素间关系不变化。一般采用顺序存储方法表示数组。(1) 行优先顺序将数组元素按行向量排列,第i+1个行向量紧接在第i个行向量后面。例: 二维数组Amn的按

2012-10-10 21:46:04 34545 1

原创 各查找复杂度计算

一、查找1)线性查找    平均查找长度:P=1/n;C  = i;则对pc相乘求和得:(1+2+3+....+n)= (1+n)/2;    时间复杂度:O(n);2)二分查找:   平均查找长度:p= 1/n;  C =k* 2^(k-1);  则对PC相乘求和得:(1*2^0 +2*2^1+......+k*2^(k-1) )/n = (n+1)log2(n+1)/n -

2012-09-26 19:45:40 4376

转载 c++ 指针和引用

从概念上讲。指针从本质上讲就是存放变量地址的一个变量,在逻辑上是独立的,它可以被改变,包括其所指向的地址的改变和其指向的地址中所存放的数据的改变。而引用是一个别名,它在逻辑上不是独立的,它的存在具有依附性,所以引用必须在一开始就被初始化,而且其引用的对象在其整个生命周期中是不能被改变的(自始至终只能依附于同一个变量)。今天在看编程范式公开课时,降到指针和引用的本质问题:1)c和c++在

2012-09-16 19:17:18 697 1

转载 memcpy和memmove 的使用

memcpy是不考虑两个内存串是否有重叠的情况,而memmove是考虑的,也就是使用这个函数,我们就不用担心复制后的内存是否有误,而memcpy可能会被覆盖!这里是一个在网络上的例子区别:两个函数都是进行n字节内存内容的拷贝,入口参数和返回参数也都一样,可是这两个函数在内部实现上是有一定区别的,这主要是因为dest内存区域和src内存区域可能有一下四种不同的情况,注意count的影响:

2012-09-13 11:18:28 689

原创 MFC 设置开机自启动

在MFC 中设置开机自启1)需要知道的基础:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run是控制计算机启动项的注册表信息, 如果要找到它在何处的话:可以`点屏幕左下角(开始)→(运行)→输入(regedit)→这个时候你会看见注册表弹出来了,点选(HKEY_LOCAL_MACHINE)→(SOFTWARE)→(Microsoft)→

2012-09-08 15:10:16 6961 2

转载 OnSysCommand 与PreTranslateMessage

OnSysCommand()这个函数主要是截获控制命令的,msdn上的解释如下:  The framework calls this member function when the user selects a command from the Control menu, or when the user selects the Maximize or the Minimize butt

2012-09-07 18:19:48 1196

转载 让对话框程序捕获WM_KEYDOWN 消息

vc++ 孙鑫课本325页       在对话框程序中,我们经常是利用对话框上的子控件进行命令响应来处理一些事件。如果我们想要让对话框(子控件的父窗口)类来响应我们的按键消息,我们可以通过ClassWizard对WM_KEYDOWN消息进行响应,当程序运行后,我们按下键盘上的按键,但对话框不会有任何的反应。这是因为在对话框程序中,某些特定的消息,例如按键消息,它们被Windows内

2012-09-05 14:30:22 1956

转载 VC 窗口销毁

转自:http://blog.csdn.net/oldmtn/article/details/6904697基础知识很重要,Win32中的窗口句柄和MFC窗口类对象的2个概念。前者被后者包装了起来。先看下MSDN中的TN017中的文章In the case of C++ Windows objects that do perform auto-cleanup, you

2012-09-04 10:07:03 2517

原创 vS2010中标记菜单

在vs2010 中标记菜单:1) 使用OnUpdateTestAbc(CCmdUI *pCmdUI)消息相应即可完成void CMainFrame::OnUpdateTestAbc(CCmdUI *pCmdUI){    pCmdUI->SetCheck(TRUE);}2)今天发现在vs2010中使用GetMenu()标记菜单时,出现了错误,在CMainFrame::O

2012-09-03 16:48:33 3098 2

转载 MFC宏定义 ON_WM_PAINT DECLARE_MESSAGE_MAP

转载自:http://www.cppblog.com/citywanderer/articles/8660.htmlhttp://www.cppblog.com/citywanderer/articles/8660.html一、关于DECLARE_MESSAGE_MAP宏定义使用MFC向导,在ApplicationType页面选择DialogBased,生成一个对话框项目,Dialog类命

2012-09-01 16:14:42 4596

转载 Building MFC application with /MD[d] (CRT dll version)requires MFC shared dll version~~~~

转自:http://www.byywee.com/page/M0/S530/530822.html昨天编译文件时出现了Building MFC application with /MD[d] (CRT dll version)requires MFC shared dll version~~~~的错误。 在网上很容易找到了解决的方案,公布如下: 对着你的项目点击右键,依

2012-08-31 16:29:35 63198 6

转载 va_start、va_end、va_list的使用

转载自:http://www.cnblogs.com/rainduck/archive/2010/11/10/1873417.html1:当无法列出传递函数的所有实参的类型和数目时,可用省略号指定参数表void foo(...);void foo(parm_list,...); 2:函数参数的传递原理函数参数是以数据结构:栈的形式存取,从右至左入栈.eg:#incl

2012-08-27 15:21:39 819

转载 MFC基于Dialog的窗口程序启动时最小化到托盘

一、托盘是什么所谓的“托盘”,在Windows系统界面中,指的就是下面任务条右侧,有系统时间等等的标志的那一部分。在程序最小化或挂起时,但有不希望占据任务栏的时候,就可以把程序放到托盘区。二、NOTIFYICODDATA结构和Shell_NotifyIcon函数1、NOTIFYICONDATA结构包含了系统用来处理托盘图标的信息,它包括选择的图标、回调消息、提示消息和图标对应的窗口等内

2012-08-27 14:52:31 1068

转载 c++中虚函数的作用以及用法

转自”百度知道“网友解答http://zhidao.baidu.com/question/32424351.html虚函数联系到多态,多态联系到继承。所以本文中都是在继承层次上做文章。没了继承,什么都没得谈。下面是对C++的虚函数这玩意儿的理解。一, 什么是虚函数(如果不知道虚函数为何物,但有急切的想知道,那你就应该从这里开始)简单地说,那些被virtual关键字

2012-08-14 09:24:11 630

转载 VS2010中如何更改项目名称

转载:http://hi.baidu.com/iaskall/item/dcde124bc6b1180fc11613c5我们常常在建立项目的时候就必须输入一个项目名称,有的时候我们就随意的起了一个名称,可是到后面想到了一个更好的项目名我们就想把项目名称改过来,但VS并不那么智能,我们不能简单的将项目对应的解决方案SLN文件名改过来,或是将csproj的名称改过来就行。我就曾这么天真的这么做过,

2012-07-26 17:42:08 9044 2

转载 MFC 控件大小随窗体改变而改变大小

一个基于对话框的MFC界面,怎么样才能让对话框里的控件能和对话框同比例变小变大?今天我一直想解决这个问题,这是师姐留给我的任务。经过在网上的大量搜素,终于找到了解决方法,其实比较简单。   一般情况下,我们新建的对话框,里面的“确定”和:取消”按钮,在对话框最大化得时候,不会一起变大的,而是保持原来的大小。   最简单的情况:     当我们点击最大化按钮的时候,对话框会最大化

2012-07-23 16:59:04 20494

转载 [CToolTipCtrl]悬停工具提示条信息

转自:http://blog.csdn.net/priest18/article/details/4511014public:   CToolTipCtrl* m_ptip;         CtoolView::~CtoolView()  {   delete   m_ptip;      m_ptip   =   NULL;   }

2012-07-07 15:59:21 908

转载 mysql 按时间查询

mysql 查询今天,昨天,一周,一月,上月的数据今天 select * from 表名 where to_days(时间字段名) = to_days(now());昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) – TO_DAYS( 时间字段名) <=17天

2012-07-05 16:39:23 929

转载 stdafx.h

转自:http://www.diybl.com/course/3_program/c++/cppsl/200889/135327.html(1)Standard Application Frame Extend没有函数库,只是定义了一些环境参数,使得编译出来的程序能在32位的操作系统环境下运行。Windows和MFC的include文件都非常大,即使有一个快速的处理程序,编译程序也要花费相当长

2012-07-04 17:38:24 867

转载 MFC listBox 实现右键单击事件

转自:http://blog.csdn.net/a466804006/article/details/6907791恩 ,大家好。我用的是VS2010,不会用CSDN的插入图片的方法,大家表喷我。这几天在搞MFC,因为客户要求(TMD)所以只好搞一个右键菜单。这个在网上确实有许多的版本,但是大多语焉不详,所以今天我特地把这个详细的步骤写出来,希望大家作为参考。创建右键菜单一共分三步。

2012-07-02 18:48:41 11333

原创 CMFCToolBar 自己加载图片

在前面转载了一篇文章,自己在具体实现过程还是有一定出入的,因此在这里记下自己的实现:(可能写的太粗)使用了整个合成的bmp图片1)创建一个toolBar2)插入一个bmp位图 (合成图片)3)代码实现if (!m_myToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIP

2012-06-28 15:01:50 4301 1

转载 CMFCToolBar 添加真彩图片

之前转载过一篇过于mfc工具栏添加图片的文章,但是今天在使用CMFCToolBar时发现和CToolBar 是不一样的第一步:准备图片不知道大家是如何制作工具栏图片的,我使用的方法是,使用Photoshop将几个32×32的图标横向排成一排,图标之间不需要留间隙,确保背景是透明的,然后保存成png文件。为了让VS能够把该图片做为资源导入,需要转为bmp文件:用画图程序打开png文件,另存为

2012-06-28 09:30:03 5769

转载 MFC中如何创建固定大小的窗口

转自:http://blog.163.com/fk1007@126/blog/static/30036739200921984625121/   创建固定大小的窗口:方法一:在your_project_name.cpp中,m_pMainWnd->ShowWindow(SW_SHOW)之前加入下面的语句:::

2012-06-27 15:03:58 4731

串口通讯精灵

之前使用mfc VC++ 写的串口通信精灵,分别使用了API和 MSComm控件写的,希望对你有帮助

2012-06-06

MFC 画图程序

编写语言:C++ ,开发环境:vsiual 2010 完成任务:在单文档中进行直线,圆,矩形,点等图元的绘制,复制,粘贴,删除,修改等功能。

2012-04-17

MFC 打开保存 图片

使用vs2010,创建单文档,使用CImage可对bmp jpg 格式的文件进行打开 保存 放大 缩小操作!

2012-02-24

空空如也

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

TA关注的人

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