自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 c# Invoke和BeginInvoke 区别

Control.Invoke 方法 (Delegate) :在拥有此控件的基础窗口句柄的线程上执行指定的委托。Control.BeginInvoke 方法 (Delegate) :在创建控件的基础句柄所在线程上异步执行指定委托。以下为实际应用中碰到的问题,在主线程中启动一个线程,然后在这个线程中启动serviceForm,然而在线程启动后,往serviceForm发送指令,serviceF

2009-09-22 09:13:00 554

原创 windows RPC 编程记录 (II)

(二)当客户端程序调用远程服务器的某些功能时,捕获异常5L(ACCESS_DENIED)。1、问题描述。这是利用上篇博客中的服务器/客户端程序,分别运行在两台计算机上时,出现的问题。每次客户端调用HelloProc/ShutDown接口时,总是捕获到异常5L,拒绝服务。 为了不麻烦同事,调试的时候采用主机+虚拟机的方式进行的,先将主机/虚拟机的情况详细描述如下。 主

2009-07-16 08:37:00 2020

原创 windows RPC 编程记录 (I)

(一)RPC服务器端可否调用客户端的功能函数?可以,采用回调函数的方式即可实现。在上篇博客中的例子中可以看到,对hello.idl文件进行编译后,定义的两个接口函数(HelloProc / ShutDown)的实体出现在了hello_c.c文件中,使得在client.cpp中可以对这两个接口函数直接进行调用。要实现server.cpp中调用客户端的功能函数,具体步骤如下。 

2009-07-15 16:03:00 1849

原创 RPC远程过程调用实例详解

1、创建IDL文件,定义接口。IDL文件可以由uuidgen.exe创建。首先找到系统中uuidgen.exe的位置,如:C:/Program Files/Microsoft Visual Studio 9.0/Common7/Tools。在此目录下运行命令"uuidgen /i /ohello.idl",即可在该位置生成一个IDL文件:hello.idl。文件内容如下://hello

2009-07-14 17:12:00 3887 3

原创 libtiff使用小记

这两天就跟libtiff库卯上了,总会遇到奇怪的问题。现在问题或直接或曲折的解决了,一一记录下来。 问题一:TIFFSetDirectory函数的使用。代码目的:交叉读取tiff中两页的每一行,假设第一页tif为tif_0,第二页tif为tif_1。我的目的就是先读tif_0的第i行,然后读tif_1的第i行,而后i++。代码如下: for(int i = 0; i       

2009-06-26 15:13:00 6565 2

原创 List Control控件如何显示icon

昨天小同事问我怎么用list control显示icon,俺也没用过,临时抱佛脚,求百度,求google,好歹给弄出来了。 在oninitial函数内添加:  HICON myIcon[2];  myIcon[0]=AfxGetApp()->LoadIcon(IDI_ICON1);  myIcon[1]=AfxGetApp()->LoadIcon(IDI_ICON2);  my

2008-10-23 11:21:00 2964 2

原创 改善双缓冲显示

使用之前文章中提到的双缓冲显示时,会出现内存泄漏的情况。随着一次一次的刷新,内存不断在消耗。经同事指点,使用下面的方法对其进行改善。 1、首先添加显示控件变量,变量类型为CStatic m_static_show。 2、添加指向显示控件的CDC*变量m_pshowdc 。3、在程序初始化的时候,一次性的对m_pshowdc进行初始化。m_pshowdc = m_static_show.GetDC(

2008-05-07 16:35:00 630 2

原创 显示“选择文件夹”对话框,让用户选择文件夹

CString GetPath(){  CString strPath = "";  BROWSEINFO bInfo;  ZeroMemory(&bInfo, sizeof(bInfo));  bInfo.hwndOwner = m_hWnd;  bInfo.lpszTitle = _T("请选择路径: ");  bInfo.ulFlags = BIF_RETURNONLYFSDIRS;   

2008-01-17 14:41:00 676

原创 利用双缓冲解决屏幕图像闪烁问题

最近作的项目,人脸图像+特征点的显示,经常需要刷新窗口。效果闪到爆!实在是难受啊!网上查找了一些资料,发现可以利用双缓冲避免这种情况。代码如下:CDC MemDC;    //首先定义一个显示设备对象 CBitmap MemBitmap;  //定义一个位图对象 CWnd *stpwnd; CDC *stpdc; CRect rect; if(pimg->m_imgsrc.addrbu

2007-08-28 13:39:00 1411

原创 Class Wizard 出错: A duplicate insert block exists

今天想给一个按钮添加函数,使用ClassWizard竟然出错,提示如标题所示。编译无错,甚是纳闷。网上搜索,找到如下答案:class wizard出错与c++语法出错没有关系class wizard根据//{{来寻找插入函数的入口,所以,如果//{{出现的次数有多次,就出错了.需要注意的是,几时是被注释掉的代码,对class wizard也有影响,虽然编译能通过.参见http://ww

2007-08-27 13:34:00 1268 2

原创 在vc6.0中使用GDI+图形函数

GDI+图形函数,一个组在.net环境下提供的以取代GDI图形函数的类,将来会逐渐取代GDI图形函数.如果在vc6.0中使用gdi+图形函数,那么请按以下步骤操作:1.下载下面的rar文件将其中的Includes和Lib中的文件拷到vc目录下的Includes和Lib文件夹中.2新建一个工程(以winsdk框架为例mfc也相同)将以下代码加入StdAfx.h头文件中//加入的头文件#inc

2007-06-14 14:07:00 1396 2

转载 GDI vs GDI+

原文地址:http://www.cnblogs.com/csynine/archive/2005/07/11/190768.htmlGDI全称Graphics Device Interface,它是Windows图形程序设计不可或缺的一部分,在微软推出Windows2000,WindowsXP,Windows 2003等操作系统之后,GDI也得到了升级和增强,被称之为GDI+。一般情况下,vs

2007-06-13 14:14:00 1084

原创 几个常见问题的解答

 I、extern "c" {...}的作用。假设某个C函数的声明如下:void foo(int x, int y);该函数被C编译器编译后在库中的名字为_foo,而C++编译器则会产生像_foo_int_int之类的名字用来支持函数重载和类型安全连接。由于编译后的名字不同,C++程序不能直接调用C函数。C++提供了一个C连接交换指定符号extern"C"来解决这个问题。例如:extern "

2007-06-05 10:03:00 592

转载 主成分分析 PCA

主成分分析 ( Principal Component Analysis , PCA ) 是一种掌握事物主要矛盾的统计分析方法,它可以从多元事物中解析出主要影响因素,揭示事物的本质,简化复杂的问题。计算主成分的目的是将高维数据投影到较低维空间。给定 n 个变量的 m 个观察值,形成一个 n ′ m 的数据矩阵, n 通常比较大。对于一个由多个变量描述的复杂事物,人们难以认识,那么是否可以抓住事物主

2007-04-10 14:44:00 2987

原创 如何调试用于PPC设备的dll

最近两天要完成根据正侧面图像合成三维模型的sdk,用于pc得dll很快写完测完了,就是用于PPC的dll在调试的时候出现了点小麻烦。我采用的测试方法是编写一个test.exe来执行自己编写的dll中的各个函数。由于这个exe是用于PPC的,因此,我把所有需要的dll文件都拷贝在了移动设备上的相应文件夹中。这时问题就出现了,exe的工程中F5开始执行,到达要测的函数那行的时候,F11,没有动静,

2007-03-27 14:25:00 1088

转载 在对话框picture control中利用opengl进行绘图

建立一个基于对话框的工程(名称:OpenGL)并且在设置的Link里加入库opengl32.lib glu32.lib glaux.lib 为对话框添加picture control 控件,ID:IDC_RENDER主要程序:// OpenGLDlg.cpp : implementation file//#include "stdafx.h"#include "OpenGL.h

2007-01-10 10:29:00 3258 4

原创 Thinking in C++(4)

P11OOP ---Object-orient Programming(面向对象的编程)创建和销毁对象 (对象的数据存放在何处?如何控制对象的生命期?)1)为了最大化运行速度,通过将对象存放在栈(stack)中或者静态存储区域中。栈是内存中的一个区域,可以直接由微处理器在程序执行期间存放数据。存放在栈中的变量称为自动变量(automatic variable)或者局部变量(scoped

2006-12-20 17:31:00 802

转载 单文档视图结构中利用OpenGL绘制图形

这次介绍在MFC下单文档视图结构中绘制三维图形的一些步骤.(1)    创建一个新的工程,新建一个基于单文档(SDI)的工程,名称为SDOpenGL.    (2)    添加OpenGL库.        Project->Settings...->Link标签下,在"Object/library Module"编辑框中加入"opengl32.lib         glu32.lib",(中间

2006-10-31 14:44:00 1229

原创 Thinking in C++(3)

 p68全局变量:在所有函数体的外部定义的,程序的所有部分(甚至其他文件中的代码)都可以使用。extern:如果在一个文件中使用extern关键字来声明另一个文件中或当前文件的后面存在的全局变量,那么这个文件可以使用这个数据。p70 静态变量关键字static的两层含义:1)通常,函数种定义的局部变量在函数作用域结束时消失。当再次调用这个函数时,会重新创建该变量的存储空间,其值会被

2006-10-25 10:54:00 619

原创 Thinking in C++(2)

 P65void*如果声明指针是void*,它意味着任何类型的地址都可以间接引用那个指针。一旦间接引用一个void*,就会丢失关于类型的信息。因此在使用前,必须转换为正确的类型。然而这样会引起一个漏洞,void*甚至是提倡把一种类型看作另一种类型,由于数据类型的存储空间的不同,有可能会引起程序的崩溃。因此,一般应避免使用void*.P67实时定义变量定义变量时,c和c+

2006-10-18 16:31:00 624

原创 Thinking in C++(1)

 P32变量声明的语法int a;可以声明变量a是一个整数。同时,这段代码有足够的信息让编译器为整数a分配空间,而且编译器也确实给整数分配了空间。要解决这一矛盾,对于c/c++需要一个关键字--extern,它表示变量是在文件以外定义的,或在文件后面部分才定义,而此处只是一个声明。 extern int a;P62修改外部对象int a = 47;int* p =

2006-10-18 15:55:00 583

转载 基于Visual C++6.0的DLL编程实现

 一、前言    自从微软推出16位的Windows操作系统起,此后每种版本的Windows操作系统都非常依赖于动态链接库(DLL)中的函数和数据,实际上Windows操作系统中几乎所有的内容都由DLL以一种或另外一种形式代表着,例如显示的字体和图标存储在GDI DLL中、显示Windows桌面和处理用户的输入所需要的代码被存储在一个User DLL中、Windows编程所需要的大量的API函数也

2006-10-16 13:55:00 815

空空如也

空空如也

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

TA关注的人

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