自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

扬风踏浪

Better to master one than to engage with ten

  • 博客(52)
  • 收藏
  • 关注

原创 Windows App Memory Measurement

Windows application 内存使用分析 一. windows 存储系统:物理存储器分为三类: 1. 物理内存:RAM存储器,即通常说的电脑内存;2. 页交换文件(paging file):硬盘上提供的虚拟内训;     可以通过以下方式来改变页交换文件的大小:      3. 内存映射问文件(memory-maping file): 存在于硬盘上的文件

2014-03-27 13:29:30 913

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

1 Windows进程间通信的各种方法    进程是装入内存并准备执行的程序,每个进程都有私有的虚拟地址空间,由代码、数据以及它可利用的系统资源(如文件、管道等)组成。  多进程/多线程是Windows操作系统的一个基本特征。Microsoft Win32应用编程接口(Application Programming Interface, API)  提供了大量支持应用程序间数据共享和交换的机制,这

2014-03-12 17:11:23 660

转载 Win32应用程序中进程间通信方法分析与比较

1 进程与进程通信   进程是装入内存并准备执行的程序,每个进程都有私有的虚拟地址空间,由代码、数据以及它可利用的系统资源(如文件、管道等)组成。多进程/多线程是Windows操作系统的一个基本特征。Microsoft Win32应用编程接口(Application Programming Interface, API)提供了大量支持应用程序间数据共享和交换的机制,这些机制行使的活动称为进

2014-01-03 17:50:05 601

转载 Windows消息机制概述

Windows消息机制概述消息是指什么?     消息系统对于一个win32程序来说十分重要,它是一个程序运行的动力源泉。一个消息,是系统定义的一个32位的值,他唯一的定义了一个事件,向 Windows发出一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。    消息本身是作为一个记录传递给应用程序的,

2014-01-03 17:30:33 542

原创 COM 学习

我的COM和ATL的学习       作者:未知   来源:月光软件站   加入时间:2005-2-28 月光软件站   首先声明本人并非COM/ATL高手,尽管本人接触他们已经有4年了,但是因为工作中的一些原因一直未能深入研究和广泛的实际的使用它们。不过回想学习它们的痛苦经历,实在是有点不堪回首。在此仅以此文和大家探讨一下学习它们的路径,以让后来人少走弯路。我个人认为

2011-12-28 16:13:55 586

原创 二分查找法及判断一个数组中是否有两个元素之和为指定值

请给出一个运行时间为O(nlgn)的算法,使之能在给定一个由n个整数构成的集合里快速判断是否存在两个元素,其和等于某一指定值key。 方法一: 思路:1.对数组进行归并排序或快速排序,运行时间为O(nlgn);2.对已经排序的的数组进行遍历,并在遍历当前元素x时,在其后的序列里用binary search查找是否存在key-x,。binary search 运行时间为O(lgn

2011-11-14 17:54:59 5209 1

原创 异常、虚函数与构造函数、析构函数

一。异常1.栈展开(stack unwinding):    异常抛出的时候,将暂停当前函数的执行,开始查找匹配的catch字句。    首先检查throw语句是否在当前函数的try语句中,如果是,而且有相应的catch语句与抛出对象相匹配,则就处理异常;如果没有在try语句中,或没有相匹配的catch语句,则就会退出当前函数(释放当前函数的内存、撤销局部对象); 然后再在调用函数

2011-11-10 15:00:35 894

原创 大整数相乘

算法领域一个常见的问题是处理大整数相乘。这里做一个小结吧。这个问题的解法很多,最简单的有使用多项式相乘的思想,最快的还有使用傅里叶变换,变换到频域空间操作。 最简单的方法:多项式相乘下面是这种方法的一个实现:#define N 40#define M 100int res[M];/****** Function: 大整数相乘算法* 参数:* a:

2011-11-10 10:07:57 2901

原创 常见排序算法

从大的方面来说,排序可以分成内排序和外排序——内排序是外排序的基础。我们常用的内排序又可以粗略分成下面的类型:    1.经典算法:如冒泡排序;    2.插入排序及希尔排序;    3.选择交换排序;    4.堆排序;    5.归并排序;     6.快速排序。别看排序有那么多种类型,但它们都离不开这样的核心思想:|有序序列区|无序序列区|

2011-11-08 16:20:50 870

原创 数据结构学习资料

牛人的博客:http://blog.csdn.net/v_july_v/article/details/6870251http://blog.csdn.net/v_JULY_v/article/details/6460494 一个实现带min()函数的栈:实现原理入栈时,比较辅助栈栈顶元素大小,如果新增元素小于等于辅助栈栈顶元素,辅助栈同时入栈。出栈时,如果出栈元素等于辅助

2011-11-03 16:08:01 646

原创 轮廓追踪与连通区域检测

用途在二值图像或灰度图像中检测并标记连通区域,统计连通区域的信息如面积、周长、重心、区域形状参数(形状因子、矩、直方图、其他)等。 步骤轮廓追踪(追踪原理+链码)-->链码表转换为第一类或第二类线段表-->检测并标记连通区域,统计连通区域的信息。 原理参看资料《C与C++图像处理编程》第八章轮廓跟踪。

2011-10-31 11:42:17 2864

原创 C标准库IO函数的错误识别

errno全局变量很多系统函数在错误返回时将错误原因记录在libc定义的全局变量errno中,每种错误原因对应一个错误码,请查阅errno(3)的Man Page了解各种错误码,errno在头文件errno.h中声明,是一个整型变量,所有错误码都是正整数。如:当使用fopen打开文件失败时,该函数返回NULL,而且同时将错误原因记录在全局变量errno中。 如果在程序中打印错误

2011-10-26 16:07:25 2759

转载 浅谈SIFT算法[zz]

浅谈SIFT算法[zz]SURF算法是SIFT算法的加速版,opencv的SURF算法在适中的条件下完成两幅图像中物体的匹配基本实现了实时处理,其快速的基础实际上只有一个——积分图像haar求导,对于它们其他方面的不同可以参考本blog的另外一篇关于SIFT的文章。    不论科研还是应用上都希望可以和人类的视觉一样通过程序自 动找出两幅图像里面相同的景物,并且建立它们之间的对

2011-10-25 17:51:03 636

转载 图像检索--SIFT资料

SIFT算法研究资料[zz]Sift是David Lowe于1999年提出的局部特征描述子,并于2004年进行了更深入的发展和完善。Sift特征匹配算法可以处理两幅图像之间发生平移、旋转、仿射变 换情况下的匹配问题,具有很强的匹配能力。在Mikolajczyk对包括Sift算子在内的十种局部描述子所做的不变性对比实验中,Sift及其扩展算 法已被证实在同类描述子中具有最强的健壮

2011-10-25 17:48:44 2651

转载 [转载]图像处理的前沿工作组及资料

[转载]图像处理的前沿工作组及资料转载至http://bbs.image-pro.com.cn/read.php?tid=1168 做图像处理方面的研究工作,最重要的两个问题:其一是要把握住国际上最前沿的内容;其二是所作工作要具备很高的实用背景。解决第一个问题的办法就是找出这个方向公认最牛的几个超级大拿(看看他们都在作什么)和最权威的出版物(阅读上面最新的文献),解

2011-10-20 14:10:54 929

转载 现代图像处理与分析--国内公司&就业

现代图像处理与分析--国内公司&就业最近版上有不少人在讨论图像处理的就业方向,似乎大部分都持悲观的态度。我想结合我今年找工作的经验谈谈我的看法。就我看来,个人觉得图像处理的就业还是不错的。首先可以把图像看成二维、三维或者更高维的信号,从这个意义上来说,图像处理是整个信号处理里面就业形势最好的,因为你不仅要掌握(一维)信号处理的基本知识,也要掌握图像处理(二维或者高维信号处理)的知识。其次,

2011-10-19 18:02:07 1984

转载 CreateThread, AfxBeginThread,_beginthread, _beginthreadex的区别

CreateThread是Windows的API函数(SDK函数的标准形式,直截了当的创建方式,任何场合都可以使用),提供操作系统级别的创建线程的操作,且仅限于工作者线程。不调用MFC和RTL的函数时,可以用CreateThread,其它情况不要轻易。在使用的过程中要考虑到进程的

2011-10-12 15:05:56 472

转载 HSI、HSV、RGB、CMY、CMYK、HSL、HSB、Ycc、XYZ、Lab、YUV颜色模型

HSI、HSV、RGB、CMY、CMYK、HSL、HSB、Ycc、XYZ、Lab、YUV颜色模型HSV颜色空间 HSV(hue,saturation,value)颜色空间的模型对应于圆柱坐标系中的一个圆锥形子集,圆锥的顶面对应于V=1. 它包含RGB模型中的R=1

2011-10-12 14:59:07 1464

原创 使用Lapack库的一些重要规则

1. 如何在C/C++中使用lapack库中的函数:    通常,应该如下声明需要使用的lapack函数:extern "C" {  extern void sgetrf_(int*, int*, float*, int*, int*, int*);  exter

2011-10-10 15:01:29 7474

转载 CLAPACK的dgeev_求特征值

CLAPACK的dgeev_求特征值2009-11-15 16:07(hplonline)2009.11.15CLAPACK在上一篇介绍过了。虽然这个库很强大,但是参数太冏了,看了很久才搞定。。这篇讲解dgeev_函数的用法,从

2011-10-10 14:46:22 4156 2

转载 Lapack 资料参考

参考:1)user guidehttp://www.netlib.org/lapack/lug/在LAPACK网站上给出的有user guide,这个user guide应该是要完整地读过的,里面有命名规则,功能介绍。只有了解LAPACK能做哪些,才可以更好地使用LA

2011-10-10 12:27:59 2085

转载 如何在VC中调用CLAPACK

关于CLAPACK的使用网上的资料并不多。主要就是官方网站上的安装说明,以 及LAPACK官方论坛上的一些资料。然而,国外一般科研使用的平台都是UNIX或LINUX, 所以对于windows上使用CLAPACK的相关介绍就很少。幸运的是,官方提供了CLAPACK的windows版

2011-10-09 18:16:01 6998 1

原创 多样的sprintf函数

函数种类:字符串输出函数有很多,如下表所示:  ASCII宽字元常规 参数的变数个数    标准版sprintfswprintf_stprintf最大长度版_snpri

2011-10-03 19:40:02 844

原创 功能强大的sscanf 函数

函数原型: Int sscanf( const char * src, const char * format, ...); int scanf( const char * format, ...); 这两个函数很相似,只是第一个函数以src作为输入,而第二个

2011-10-03 12:13:04 781

转载 Windows中CreateProcess函数用法(转)

1.函数说明:WIN32API函数CreateProcess用来创建一个新的进程和它的主线程,这个新进程运行指定的可执行文件。2.函数原型:BOOL CreateProcess(    LPCTSTR lpApplicationName,

2011-09-26 17:58:39 840

原创 CImg 介绍:简洁、高效、强大、酷毙的C++ 图像处理模板库

CImg 库是一个免费、开源的图像处理C++库,名称原意是 Cool Image,正如其名,CImg是一个非常优秀、功能强大、代码简洁、使用方便的C++ 图像处理库。它不仅非常适合科学家、研究生做科研时使用,也适合在工业应用工程开发中使用,更适合的是,对于有志于开发简洁、高效、功

2011-08-25 18:22:46 15793 3

原创 VC中预编译头文件

一。为什么预编译头文件:预编译头的概念: 所谓的预编译头就是把一个工程中的那一部分代码,预先编译好放在一个文件里(通常是以.pch为扩展名的),这个文件就称为预编译头文件这些预先编译好的代码可以是任何的C/C++代码,甚至是inline的函数,但是必须是稳定的,在工程开发

2011-08-11 18:13:23 1533

原创 VC中预编译#pragma指令总结

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

2011-08-11 18:10:21 1531

原创 C/C++预编译指令总结

C/C++中宏总结C程序的源代码中可包括各种编译指令,这些指令称为预处理命令或预处理器。虽然它们实际上不是C语言的一部分,但却扩展了C程 序设计的环境。预处理指令的主要作用就是把通过预处理的内建功能对一个资源进行等价替换,最常见的预处理有:文件包含,宏替换,条件编译和布局控制

2011-08-11 18:08:22 9664 1

转载 #define总结-#define用法集锦 (网上资料汇集)

Definition:The #define Directive  You can use the #define directive to give a meaningful name to a constant in your program. The two for

2011-08-10 18:17:57 1370

原创 C语言中几#if,#if defined ,#ifdef的用法描述

[转] #ifndef#define#endif的用法(整理)    原作者:icwk 文件中的#ifndef 头件的中的#ifndef,这是一个很关键的东西。比如你有两个C文件,这两个C文件都include了同一个头文件。而编译时,这两个C文件要一同编译成一个可

2011-08-10 17:29:29 1619

原创 尽量多使用const

C++中const非常多才多艺。被const 修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。 一。const与指针、引用:        pointer-to-nonconst可以初始化或赋值给pointer-to-const,反之不可以,只有一个例外

2011-08-02 18:43:47 696

原创 free、detele与野指针

一。free与delete把指针怎么了?:        用free或delete 作用于指向堆内存的指针上,发生了什么?       它们只是把指针指向的内存释放掉,而并没有把指针本身释放掉,甚至连指针的值都没有改变。即,它们作用于指针,并没有改变指针指向的地址,而只是

2011-08-02 18:09:37 1917

原创 数组与指针

数组与指针是内存管理的关键,也是C/C++中较难掌握的的地方。现在对其进行一些分析与总结。  一。内存分配方式有四种:        1.从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的          整个运行期间都存在。例如全局变量

2011-08-02 18:03:40 529

原创 二叉搜索树的一种C++实现

二叉树的一个重要的应用是它们在查找中的使用。二叉搜索树的概念相当容易理解,即:对于树中的每个结点X,它的左子树中所有关键字的值都小于X的关键字值,而它的右子树中的所有关键字值都大于X的关键字值。这意味着该树所有的元素都可以用某种统一的方式排序,如中序遍历,将获得元素的按升序排序。 /*bstree.h (btree.h is the header file for class BTr

2011-08-01 11:10:28 676

原创 二叉树的一种C++实现

树是一种非线性的数据结构,最常用到的是树和二叉树,其中又以二叉树更为实用。 下面是二叉树的一个C++实现:/*btree.h*/#ifndef __BINARY_TREE_H__#define __BINARY_TREE_H__#include #incl

2011-07-29 15:58:11 874

原创 二叉树的一种C++实现

树是一种非线性的数据结构,最常用到的是树和二叉树,其中又以二叉树更为实用。 下面是二叉树的一个C++实现:/*btree.h*/#ifndef __BINARY_TREE_H__#define __BINARY_TREE_H__#include #incl

2011-07-29 15:37:38 56

原创 队列的两种C++实现

像栈一样,队列(queue)也是表。然而,使用队列时插入在一端进行而删除则在另一端进行,也就是先进先出(FIFO)。队列的基本操作是EnQueue(入队),它是在表的末端(叫做队尾(rear))插入一个元素;还有DeQueue(出队),它是删除(或返回)在表的开头(叫做队头(fr

2011-07-28 15:29:00 13759 3

原创 队列的两种C++实现

像栈一样,队列(queue)也是表。然而,使用队列时插入在一端进行而删除则在另一端进行,也就是先进先出(FIFO)。队列的基本操作是EnQueue(入队),它是在表的末端(叫做队尾(rear))插入一个元素;还有DeQueue(出队),它是删除(或返回)在表的开头(叫做队头(fr

2011-07-28 15:17:34 117

原创 栈的两种C++实现

栈是应用最广泛的数据结构之一,很有必要对其进行一些总结。栈(stack)是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,叫做栈的顶(top),它是后进先出(LIFO)的。对栈的基本操作只有push(进栈)和pop(出栈)两种,前者相当于插入,后者相当于删除最后的元素。

2011-07-28 12:32:52 1092

空空如也

空空如也

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

TA关注的人

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