自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 字符数组单词逆序

http://www.oschina.net/code/snippet_134658_24981/*** 题目:将字符数组a转换成apple an is this,可以把它叫做字符数组单词逆序* 要求:1、不能开辟新的数组或者其他内存单元,使其空间复杂度为O(1)*          {空间复杂度:空间复杂度是对一个算法在运行过程中临时占用存储空间大小的量度*

2013-11-29 22:28:58 913

转载 《Windows via C/C++》学习笔记 —— 线程的相关性

《Windows via C/C++》学习笔记 —— 线程的相关性http://www.cnblogs.com/wz19860913/archive/2008/08/05/1260833.html  默认情况下,Windows Vista(2000以上系统)使用“soft affinity”(软相关)的操作将线程分配给CPU。这意味着如果其他因素不变,系统运行线程的时候设法

2013-11-04 21:56:38 484

转载 CPU 测速(MHz)和高精度延时(微秒级)

CPU 测速(MHz)和高精度延时(微秒级)Victor Chen, (C++ 爱好者)一.高精度延时, 是 CPU 测速的基础Windows 内部有一个精度非常高的定时器, 精度在微秒级, 但不同的系统这个定时器的频率不同, 这个频率与硬件和操作系统都可能有关。利用 API 函数 QueryPerformanceFrequency 可以得到这个定时器的频率

2013-11-04 19:21:42 644

转载 Windows进程间各种通信方式浅谈

http://blog.csdn.net/microzone/article/details/70442661 Windows进程间通信的各种方法    进程是装入内存并准备执行的程序,每个进程都有私有的虚拟地址空间,由代码、数据以及它可利用的系统资源(如文件、管道等)组成。  多进程/多线程是Windows操作系统的一个基本特征。Microsoft Win32应用编程接口(Appli

2013-10-25 19:33:25 574

转载 LIB和DLL的区别与使用

共有两种库:一种是LIB包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library。一种是LIB包含函数代码本身,在编译时直接将代码加入程序当中,称为静态链接库static link library。共有两种链接方式:动态链接使用动态链接库,允许可执行模块(.dll文件或.exe文件)仅

2013-10-25 10:14:56 426

转载 经典算法系列—— 快速排序

快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。 总的说来,要直接默写出快速排序还是有一定难度的,因为本人就自己的理解对快速排序作了下白话解释,希望对大家理解有帮助,达到快

2013-10-22 00:23:03 416

转载 图的遍历

http://www.cnblogs.com/dolphin0520/archive/2011/07/13/2105236.html图的遍历      图的遍历有两种遍历方式:深度优先遍历(depth-first search)和广度优先遍历(breadth-first search)。1.深度优先遍历   基本思想:首先从图中某个顶点v0出发,访问此顶点,然后依次从v0相邻的

2013-10-21 15:19:55 405

转载 【代码真相】函数调用 堆栈

http://www.cnblogs.com/dylanwind/archive/2008/12/08/1349822.html反汇编后,代码是什么呢?#include stdio.h>long test(int a,int b){     a = a + 3;     b = b + 5;     return a + b;}int m

2013-10-19 00:39:37 490

转载 Windows程序员学习内容

经常发现有人在网上提出这样的问题,现实中也确实有不少人在经历了3-5年的Windows开发之后就开始迷失方向,每天浑浑噩噩混日子,可能是因为这个问题粒度太大,没人愿意花时间回答,希望本文可以抛砖引玉,给大家节省些时间,同时也希望园子里面的兄弟们能尽力的补充,从而使这篇文章可以帮助更多的后来人。首先说明的是,本文提到的各种技术不分先后,没有顺序,虽然先学什么,再学什么对某些人来说可能更方便,但是

2013-10-19 00:33:55 396

转载 散列表

我们知道数组能够提供对元素的快速访问但难于扩展;链表易于扩展但不能对其元素进行快速访问。对于大量元素的数据来说,我们当然希望两全其美。散列表提供了达到此目标的一种方法。   散列表又称哈希表,它有以下几个术语:1.关键字:元素的存储部分,数据库的元素通过它进行存储,查找等操作(也称作散列关键字)2,散列表元:散列数组的某个位置,其后跟着另外一个包含其元素的结构3,散列函数:对关键字

2013-10-15 09:51:01 525

转载 散列表处理冲突

处理冲突1. 开放寻址法:Hi=(H(key) + di) MOD m,i=1,2,…,k(k散列函数,m为散列表长,di为增量序列,可有下列三种取法:1.1. di=1,2,3,…,m-1,称线性探测再散列;1.2. di=1^2,-1^2,2^2,-2^2,⑶^2,…,±(k)^2,(k1.3. di=伪随机数序列,称伪随机探测再散列。2. 再散列法:Hi=RHi(ke

2013-10-15 09:39:47 603

转载 判断素数的算法

判断素数的算法http://www.cppblog.com/amazon/archive/2009/06/20/88107.aspx这是一个基本的算法编程问题,即给定一个整数x,判断x是否为素数。算法基本思路如下:让x被2到sqrt(x)除,如果x能被2至sqrt(x)之中任何一个整数整除,那么说明x不是质数,否则是质数。原因不再说明,具体代码如下:#include c

2013-10-15 09:14:00 475

转载 判断素数的算法

判断素数的算法http://www.cppblog.com/amazon/archive/2009/06/20/88107.asp这是一个基本的算法编程问题,即给定一个整数x,判断x是否为素数。算法基本思路如下:让x被2到sqrt(x)除,如果x能被2至sqrt(x)之中任何一个整数整除,那么说明x不是质数,否则是质数。原因不再说明,具体代码如下:#include cm

2013-10-14 11:15:04 523

转载 重载(overload),覆盖(override),隐藏(hide)的区别

重载(overload),覆盖(override),隐藏(hide)的区别http://www.cppblog.com/zgysx/archive/2007/03/12/19662.html写正题之前,先给出几个关键字的中英文对照,重载(overload),覆盖(override),隐藏(hide)。在早期的C++书籍中,可能翻译的人不熟悉专业用语(也不能怪他们,他们不是搞计算机编程的,他

2013-10-11 23:44:22 515

转载 HDC与HWND的关系

都知道,从HWND可以通过方法GetSafeHDC获得一个HDC句柄,用CDC::GetWindow方法可以获得一个CWnd指针。我就犯嘀咕了,dc和窗口两个类(对象)之间,究竟是怎么一种关系?他们是怎么互相获得的?通过什么联系?GetSafeHDC是CDC的函数吧。       CDC::GetWindow调用的是API函数WindowFromDC(),从窗口句柄得到客户区DC句

2013-07-23 15:01:22 2004

转载 VC调试入门

VC调试入门http://www.cnblogs.com/wqj1212/archive/2007/12/29/1020282.html 概述调试是一个程序员最基本的技能,其重要性甚至超过学习一门语言。不会调试的程序员就意味着他即使会一门语言,却不能编制出任何好的软件。这里我简要的根据自己的经验列出调试中比较常用的技巧,希望对大家有用。本文约定,在选择菜单时,通过/表示分级菜单

2013-07-22 23:09:06 399

转载 浮点数在计算机中存储方式

C语言和C#语言中,对于浮点类型的数据采用单精度类型(float)和双精度类型(double)来存储,float数据占用32bit,double数据占用64bit,我们在声明一个变量float f= 2.25f的时候,是如何分配内存的呢?如果胡乱分配,那世界岂不是乱套了么,其实不论是float还是double在存储方式上都是遵从IEEE的规范的,float遵从的是IEEE R32.24 ,而dou

2013-07-14 22:00:56 463

转载 精确获取时间(QueryPerformanceCounter)

http://www.cnblogs.com/sifenkesi/archive/2011/06/01/2065673.html LARGE_INTEGER tima,timb; QueryPerformanceCounter(&tima);在 Windows Server 2003 和 WindowsXP 中使用 QueryPerformanceCounter 函数的程序可能执行

2013-07-14 20:09:35 333

转载 使用QueryPerformanceFrequency 计算程序执行时间

/////////////////////////////////////////////////#include #include using namespace    std;////////////////////////////////////////////////void main(){    _LARGE_INTEGER time_start;    /*

2013-07-14 15:10:48 540

转载 MFC双缓存画图

在使用MFC画图时,使用Invalidate()函数重画客户区,尤其是使用频繁的时候,我们可以感觉到整个客户区在不停地闪烁, 导致我们的界面的效果特别差,那么怎样能防止这一现象发生呢?我们可以有以下几种方法:局部重画:就是说,客户区画图时,我们把刚刚的有过改动的区域确定,然后只改变这一小区域,而不是把整个客户区重画。不过这样 做还是不能彻底解决闪烁的现象。因为重画的局部还是会闪烁。异或画图

2013-07-13 15:45:46 587

转载 位运算

首先,位运算到底用来做什么,用处多不,好像到现在我也没有怎么用位运算呢?很多初学者我相信会有这样的疑问。那么本篇就将介绍位运算的强大用途及无限魅力。7的8位二进制为: 0000 01117的32位二进制为: 0000 0000 0000 0000 0000 0000 0000 0111二进制与十进制的换算我就不说了。上面为什么三个1就表示7,不知道的话就看看书哈。上面说到了8位和3

2013-07-13 15:41:55 452

转载 GetWindowRect()和GetClientRect();OnPaint()和OnDraw()等

1.GetWindowRect()和GetClientRect()GetWindowRect()是取得窗口在屏幕坐标系下的RECT坐标(包括客户区和非客户区),这样可以得到窗口的大小和相对屏幕左上角(0,0)的位置。GetClientRect()取得窗口客户区(不包括非客户区)在客户区坐标系下的RECT坐标,可以得到窗口的大小,而不能得到相对屏幕的位置,因为这个矩阵是在客户区坐标系下(相对

2013-07-10 11:04:43 563

转载 保存SelectObject返回值的原因

在看nehe教程的时候,我发现在调用SelectObject函数的时候,作者将这个函数的返回值保存在一个变量里:HFONT font,oldfont;oldfont = (HFONT)SelectObject(hDC, font);不明白这样做的原因,到CSDN论坛上搜了下,找到一个不错的答案:原帖如下:“两个作用 1.恢复原来的GDI 2.释放资源 CBi

2013-07-06 00:12:03 867

转载 IsIconic() OnPaint里的用途

void CSetAddressDlg::OnPaint() {if (IsIconic()){CPaintDC dc(this); // device context for paintingSendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);// Center icon in client re

2013-07-05 16:42:22 460

转载 MFC - GetSystemMenu(FALSE)

参数为False时返回当前窗口系统菜单(窗口标题栏右键弹出的移动、大小、最大化等)的句柄。        系统菜单是指我们点击窗体左上角的小图标时所弹出的菜单,其中好象有“恢复”.“移动”.“最大化”.“最小化”.“关闭”这么几个按钮.这个菜单用普通的方法是不能编辑与改变的,但是我们可以通过api函数getsystemmenu来得到它的句柄,然后通过菜单相关的api函数就能改变它了。如果括

2013-07-05 11:04:50 1465

转载 srand()以及rand()函数用法

http://blog.csdn.net/zqy2000zqy/article/details/1174978srand()就是给rand()提供种子seed 如果srand每次输入的数值是一样的,那么每次运行产生的随机数也是一样的,srand(n)for(10)rand()也就是说,以一个固定的数值作为种子是一个缺点。 通常的做法是  以这样一句代码srand

2013-07-05 10:28:16 436

转载 用rand()和srand()产生伪随机数的方法总结

标准库(被包含于中)提供两个帮助生成伪随机数的函数:函数一:int rand(void);从srand (seed)中指定的seed开始,返回一个[seed, RAND_MAX(0x7fff))间的随机整数。函数二:void srand(unsigned seed);参数seed是rand()的种子,用来初始化rand()的起始值。可以认为rand()在每次被调用的

2013-07-05 00:32:44 485

转载 ADlink D2K-DASK中文资料

ADlink D2K-DASK中文资料自己翻译的,水平有限。D2K_Register_Card(U16 CardType, U16 card_num)描述:初始化一片DAQ-2000数据采集卡的硬件和软件状态,然后返回相应的已初始化的卡的数字卡号(ID)。D2K_Register_Card函数必须在D所有能被这种卡调用的其它D2K-DASK库函数之前被调用。这个函数初始化采集卡

2013-07-04 23:04:36 3844 1

转载 exit(0)与exit(1)、return区别

exit(0)与exit(1)、return区别  exit(0):正常运行程序并退出程序;exit(1):非正常运行导致退出程序;return():返回函数,若在主函数中,则会退出函数并返回一值。详细说:  1. return返回函数值,是关键字;  exit 是一个函数。  2. return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表

2013-07-04 22:08:59 390

转载 加载图标LoadIcon ,SetIcon

HICON LoadIcon(HINSTANCE hInstance,LPCTSTR lpIconName);   1.函数说明:   该函数从与hInstance模块相关联的可执行文件中装入lpIconName指定的图标资源,仅当图标资源还没有被装入时该函数才执行装入操作,否则只获取装入的资源句柄  2.参数说明:lpIconName是指向NULL字符结尾的字符串的指针,它包含图

2013-07-04 20:22:20 857

转载 GetSystemMenu(FALSE)

GetSystemMenu(FALSE)        参数为False时返回当前窗口系统菜单(窗口标题栏右键弹出的移动、大小、最大化等)的句柄。        系统菜单是指我们点击窗体左上角的小图标时所弹出的菜单,其中好象有“恢复”.“移动”.“最大化”.“最小化”.“关闭”这么几个按钮.这个菜单用普通的方法是不能编辑与改变的,但是我们可以通过api函数getsystemmenu来得到它

2013-07-04 16:55:30 1054

转载 assert用法总结

assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include void assert( int expression );assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。请看下面的程序清单badptr.c:#i

2013-07-02 22:02:55 410

转载 DDX_TEXT()

DDX_TEXT()的作用可以理解为把字符串变量和控件的文本(WindowText)关联起来, DDX_Control()的作用可以理解为把变量和控件本身关联起来, DoDataExchange(pDX)就是处理所有变量与其关联控件交换数据的函数。void CView::DoDataExchange(CDataExchange* pDX){CFormView::DoData

2013-07-02 11:07:35 4547

转载 VC/MFC DDX和DDV机制介绍

VC/MFC DDX和DDV机制介绍C++的MFC类库中为用户提供了在对话框控件和数据变量间交换数据的        DDX/DDV(数据交换/数据验证)机制,而在此之前,用户只能通过调用        GetDlgItemInt或etDlgItemText等函数这样麻烦的过程来达到同样的目的。        当你要为控制增加DDX/DDV支持时,APP WIZARD和CLASS

2013-07-02 10:59:06 3066

转载 在VC++中有两种方法可以进行串口通讯

在VC++中有两种方法可以进行串口通讯http://dx2006chenlei.blog.sohu.com/82035244.html在VC++中有两种方法可以进行串口通讯。一种是利用Microsoft公司提供的ActiveX控件 Microsoft Communications Control。另一种是直接用VC++访问串口。下面将简述这两种方法。  一、Microsoft

2013-07-01 22:12:15 1171

转载 VC++实现GPS全球定位系统定位数据的提取

VC++实现GPS全球定位系统定位数据的提取来源:MCUBLOG   作者:未知字体大小:[大][中][小]  引言   卫星导航技术的飞速发展已逐渐取代了无线电导航、天文导航等传统导航技术,而成为一种普遍采用的导航定位技术,并在精度、实时性、全天候等方面取得了长足进步。现不仅应用于物理勘探、电离层测量和航天器导航等诸多民用领域,在军事领域更是取得了广泛的应用--在弹道导弹

2013-07-01 22:10:49 795

转载 com和ole和ActiveX之间是什么关系

比较详细的文章(转载)熟悉面向对象编程和网络编程的人一定对ActiveX、OLE和COM/DCOM这些概念不会陌生,但是它们之间究竟是什么样的关系,对许多们还是比较模糊的。在具体介绍它们的关系之间,我们还是先明确组件(Component)和对象(Object)之间的区别。组件是一个可重用的模块,它是由一组处理过程、数据封装和用户接口组成的业务对象(Rules Object)。组件看起来

2013-07-01 14:52:02 2108

转载 C++资源网站

C++资源网站C++资源http://www.progsource.com/index.htmlhttp://www.intranet.ca/~sshah/booklist.html#C++http://www.genitor.com/resource.htmhtpp://www.possibolity.com/Cpp/CppCodingStandard.htmlhttp:

2013-06-27 16:23:54 2627

转载 ON_MESSAGE / NOTIFY

在Windows3.1里,控件会将mouse, keybord等等的消息通知它的父窗口, 使用的消息就只有WM_COMMAND, 事件种类和控件ID被包含在wParam中, 控件的句柄包含在lParam中。由于wParam和 lParam已经满了,当控件要向父窗口发送其它特殊消息同时附带很多信息的时候就没有地方可以存放它们了。所以Windows3.1中定义了许多其它的消息种类,比如WM_VSCRO

2013-06-27 09:53:21 469

转载 回调函数和函数指针

回调函数和函数指针http://www.cppblog.com/SpringSnow/archive/2008/12/07/68770.aspx 最近在看代码,写代码的人很喜欢用回调函数和函数指针。一直觉得回调函数和函数指针挺神秘的,所以查了一些资料,来与大家一起来分享。什么是回调函数简而言之,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传

2013-06-25 16:39:43 360

空空如也

空空如也

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

TA关注的人

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