上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 61 下一页
  2012年3月13日
摘要: DLL中调用约定和名称修饰(二)4、thiscallthiscall调用约定是C++中的非静态类成员函数的默认调用约定。thiscall只能被编译器使用,没有相应的关键字,因此不能被程序员指定。采用thiscall约定时,函数参数按照从右到左的顺序入栈,被调用的函数在返回前清理传送参数的栈,只是另外通过ECX寄存器传送一个额外的参数:this指针。这次的例子中将定义一个类,并在类中定义一个成员函数,代码如下:class CSum {public:int Add(int a, int b){return (a + b);}};void main(){ CSum sum; sum.Add(1, . 阅读全文
posted @ 2012-03-13 17:56 carekee 阅读(216) 评论(0) 推荐(0) 编辑
摘要: DLL(Dynamic Link Libraries)专题: 比较大的应用程序都由很多模块组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整个软件系统的工作。可能存在一些模块的功能较为通用,在构造其它软件系统时仍会被使用。在构造软件系统时,如果将所有模块的源代码都静态编译到整个应用程序EXE文件中,会产生一些问题:一个缺点是增加了应用程序的大小,它会占用更多的磁盘空间,程序运行时也会消耗较大的内存空间,造成系统资源的浪费;另一个缺点是,在编写大的EXE程序时,在每次修改重建时都必须调整编译所有源代码,增加了编译过程的复杂性,也不利于阶段性的单元测试。 Windows系统平台上提供了一. 阅读全文
posted @ 2012-03-13 17:55 carekee 阅读(410) 评论(0) 推荐(0) 编辑
摘要: 在讨论关于动态链接到MFC的DLL的模块状态问题之前,先来看一个例子。本例可以通过如下步骤来完成: 1)在VC菜单中File->New新建一个命名为DLLShared的MFC AppWizard的工程,下一步选择Regular DLL using shared MFC DLL。2)在工程中添加一个对话框资源,其ID为:IDD_ABOUTBOX。并在resource.h之中将IDD_ABOUTBOX 的数值改为100。3)在DLLShared.cpp中定义如下函数:void ShowDlg(){ CDialog dlg(IDD_ABOUTBOX); dlg.DoModal();}4)在DL 阅读全文
posted @ 2012-03-13 17:51 carekee 阅读(564) 评论(0) 推荐(0) 编辑
摘要: 基础慨念1.概论 先来阐述一下DLL(Dynamic Linkable Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类。在仓库的发展史上经历了“无库-静态链接库-动态链接库”的时代。静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib中的指令都被直接包含在最终生成的 EXE文件中了。但是若使用DLL,该DLL不必被包含在最终EXE文件中,EXE文件执行时可以“动态”地引用和卸载这个与EXE独立的DLL文件。静态链接库和动态链接库的另外一个区别在于静态链接库中不能再包含其他的动态链接库或者静态库,而在动.. 阅读全文
posted @ 2012-03-13 17:50 carekee 阅读(1351) 评论(0) 推荐(1) 编辑
摘要: VC++动态链接库编程之MFC规则DLL 第4节我们对非MFC DLL进行了介绍,这一节将详细地讲述MFC规则DLL的创建与使用技巧。 另外,自从本文开始连载后,收到了一些读者的e-mail。有的读者提出了一些问题,笔者将在本文的最后一次连载中选取其中的典型问题进行解答。由于时间的关系,对于读者朋友的来信,笔者暂时不能一一回复,还望海涵!由于笔者的水平有限,文中难免有错误和纰漏,也热诚欢迎读者朋友不吝指正! 5. MFC规则DLL 5.1 概述 MFC规则DLL的概念体现在两方面: (1) 它是MFC的 “是MFC的”意味着可以在这种DLL的内部使用MFC; (2) 它是规... 阅读全文
posted @ 2012-03-13 17:50 carekee 阅读(424) 评论(0) 推荐(0) 编辑
摘要: (Win32 DLL 工程,或者其他Console或MFC工程等)1。在VC编译器中,选择Insert --》Resource,选中Bitmap--》Import,将文件类型修改为所有类型。---》找到bmp文件,并载入,此时产生一个IDB_BITMAP1资源句柄。2。载入后,先别急,保存一次,则会产生这个bmp文件对应的rc资源文件。3。这个时候,如果不是MFC工程,则需要在调用LoadImage或LoadBitmap函数的.CPP文件中,先包含一句:#include "resource.h"如此,则之前产生的IDB_BITMAP1资源句柄可以被使用了,如果没有包含这个头 阅读全文
posted @ 2012-03-13 17:49 carekee 阅读(2097) 评论(0) 推荐(0) 编辑
  2012年3月12日
摘要: #include <fstream>using namespace std;LARGE_INTEGER litmp;LONGLONG QPart1,QPart2;double dfMinus, dfFreq, dfTim;QueryPerformanceFrequency(&litmp);dfFreq = (double)litmp.QuadPart; // 获得计数器的时钟频率ofstream fg;CString file = "d:\\17.txt";fg.open(file,ios::app);QueryPerformanceCounter(&a 阅读全文
posted @ 2012-03-12 15:27 carekee 阅读(430) 评论(0) 推荐(0) 编辑
  2012年3月10日
摘要: 用C写程序,为了省事儿引用了别人一些代码,一调试程序发现:内存泄露了。程序代码量有点大,而且指针基本上都是用链表管理起来的,VC的调试器并不能给检查具体哪一行泄露。我想用C写程序的人这种情况一定跟我一样遇到过好多次,其中大多数人可能也跟我一样。依次注释和检查代码来排除这个问题~~ 最近,我又遇到了这个问题,本想到群中请教下别人有没好点儿的内存检查工具来辅助我排错,结果有幸让我得到了如下的方法:引用原文先查看系统的内存泄漏报告,如下:Detected memory leaks!Dumping objects ->{1057} normal block at 0x01873BD0, 8 by 阅读全文
posted @ 2012-03-10 15:51 carekee 阅读(315) 评论(0) 推荐(0) 编辑
  2012年3月9日
摘要: 获得微秒级的时间 收藏 Win 下建议如下方式:http://www.vckbase.com/document/viewdoc/?id=1301VC中基于 Windows 的精确定时中国科学院光电技术研究所 游志宇 在工业生产控制系统中,有许多需要定时完成的操作,如定时显示当前时间,定时刷新屏幕上的进度条,上位 机定时向下位机发送命令和传送数据等。特别是在对控制性能要求较高的实时控制系统和数据采集系统中,就更需要精确定时操作。 众所周知,Windows 是基于消息机制的系统,任何事件的执行都是通过发送和接收消息来完成的。 这样就带来了一些问题,如一旦计算机的CPU被某个进程占用,或系统资源.. 阅读全文
posted @ 2012-03-09 14:17 carekee 阅读(2621) 评论(0) 推荐(0) 编辑
  2012年3月7日
摘要: (1)DT_WORDBREAK只能截断单词。例如如果输入一连串英文字符,那么它会当做一个单词来处理,而不会自动换行。而对于中文字符则可以。如果要对所有字符都可以像Edit控件中那样自动换行,那么可以使用DT_WORDBREAK | DT_EDITCONTROLDT_EDITCONTROLDuplicates the text-displaying characteristics of a multiline edit control. Specifically, the average character width is calculated in the same manner as fo 阅读全文
posted @ 2012-03-07 17:20 carekee 阅读(2358) 评论(0) 推荐(0) 编辑
  2012年2月29日
摘要: AXWMP开发手册 A.S.E.: F.Q. 一、AXWMP开发概述 (1)直接属性  URL, fullScreen, uiMode, Ctlenabled, enableContextMenu, launchURL, playState, stretchToFit, windowlessVideo, (2)间接属性  Ctlcontrols, settings, currentPlaylist, currentMedia, (3)其它属性  network, dvd, cdromCollection, 二、AXWMP开发技巧 (1... 阅读全文
posted @ 2012-02-29 13:32 carekee 阅读(675) 评论(0) 推荐(0) 编辑
  2012年2月27日
摘要: 由于AVI格式是微软推出的,所以在Windows下操作比较容易,这里我用DirectShow读写AVI视频文件,并把所有操作封装成一个类:AVICodec。下面是类的定义:class AVICodec{public:AVICodec(){size = -1;}AVICodec(LPCWSTR avifile);void release();int init_getframe();char* getframe(unsigned int index);int getFrame(unsigned int index);int getFrameEnd();void play();private:IGr 阅读全文
posted @ 2012-02-27 15:13 carekee 阅读(839) 评论(0) 推荐(0) 编辑
摘要: 为了对avi进行读写,微软提供了一套API,总共50个函数,他们的用途主要有两类,一个是avi文件的操作,一类是数据流streams的操作。 1、打开和关闭文件 AVIFileOpen ,AVIFileAddRef, AVIFileRelease 2、从文件中读取文件信息 通过AVIFileInfo可以获取avi文件的一些信息,这个函数返回一个AVIFILEINFO结构,通过AVIFileReadData可以用来获取AVIFileInfo函数得不到的信息。这些信息也许不包含在文件的头部,比如拥有file的公司和个人的名称。 3、写入文件信息 可以通过AVIFileWriteData... 阅读全文
posted @ 2012-02-27 14:56 carekee 阅读(988) 评论(0) 推荐(0) 编辑
摘要: 初始化: CvVideoWriter *writer = 0; int isColor = 1; int fps = 25; // or 30 int frameW = 640; // 744 for firewire cameras int frameH = 480; // 480 for firewire cameras writer=cvCreateVideoWriter("out.avi",CV_FOURCC(’P’,’I’,’M’,’1’), fps,cvSize(frameW,frameH),isColor); 其他代码对应的编码器: CV_FOURCC(’P’ 阅读全文
posted @ 2012-02-27 13:08 carekee 阅读(5216) 评论(0) 推荐(0) 编辑
  2012年2月26日
摘要: 原创 WINDOWS XP sp2 Platfrom SDK下载地址 http://www.microsoft.com/msdownload/platformsdk/sdkupdate/XPSP2FULLInstall.htmXPSP2 PSDK Full Download with Local InstallUse the full download to copy the entire Windows XP SP2 SDK to a secure computer, then selectively install individual SDKs locally or to other c 阅读全文
posted @ 2012-02-26 23:05 carekee 阅读(772) 评论(0) 推荐(0) 编辑
摘要: 最近有一个C++视频开发项目,写个心得稍稍记录一下,以免以后忘记了。本文虽然是原创,但是整合了网上所有遇见的情况做了一个中和以及个人的一些经历写了这篇,请阅读者多多指教。 1.简介: DirectShow是一个windows平台上的流媒体框架,提供了高质量的多媒体流采集和回放功能。它支持多种多样的媒体文件格式,包括ASF、MPEG、AVI、MP3和WAV文件,同时支持使用WDM驱动或早期的VFW驱动来进行多媒体流的采集。DirectShow整合了其它的DirectX技术,能自动地侦测并使用可利用的音视频硬件加速,也能支持没有硬件加速的系统。 2.环境安装: 因为我系统比较多,所以我... 阅读全文
posted @ 2012-02-26 21:46 carekee 阅读(1403) 评论(0) 推荐(0) 编辑
  2012年2月24日
摘要: 1#include<windows.h>23longintcrv_tab[256];4longintcbu_tab[256];5longintcgu_tab[256];67longintcgv_tab[256];8longinttab_76309[256];9unsignedcharclp[1024];101112voidinit_dither_tab()13{14longintcrv,cbu,cgu,cgv;15inti,ind;1617crv=104597;cbu=132201;18cgu=25675;cgv=53279;1920for(i=0;i<256;i++){21 阅读全文
posted @ 2012-02-24 11:44 carekee 阅读(2738) 评论(0) 推荐(0) 编辑
  2012年2月21日
摘要: YUV视频格式到RGB32格式转换的速度优化 下篇 HouSisong@GMail.com 2008.03.23 tag: YUV,YCbCr,YUV到RGB颜色转换,YUV解码,VFW,视频,MMX,SSE,多核优化 摘要: 我们得到的很多视频数据(一些解码器的输出或者摄像头的输出等)都使用了一种叫YUV的颜色格式;本文介绍了常见的YUV视频格式(YUY2/YVYU/UYVY/I420/YV12等)到RGB颜色格式的转换,并尝试对转化的速度进行优化; 全文 分为: 《上篇》文章首先介绍了YUV颜色格式,并介绍了YUV颜色格式和RGB颜色格式之间的相互转换;然后重点介绍了YUYV视频格式... 阅读全文
posted @ 2012-02-21 14:53 carekee 阅读(1138) 评论(0) 推荐(0) 编辑
摘要: YUV视频格式到RGB32格式转换的速度优化 中篇 HouSisong@GMail.com 2007.11.05 tag: YUV,YCbCr,YUV到RGB颜色转换,YUV解码,VFW,视频,MMX,SSE,多核优化 摘要: 我们得到的很多视频数据(一些解码器的输出或者摄像头的输出等)都使用了一种叫YUV的颜色格式;本文介绍了常见的YUV视频格式(YUY2/YVYU/UYVY/I420/YV12等)到RGB颜色格式的转换,并尝试对转化的速度进行优化; 全文 分为: 《上篇》文章首先介绍了YUV颜色格式,并介绍了YUV颜色格式和RGB颜色格式之间的相互转换;然后重点介绍了YUYV视频格式到.. 阅读全文
posted @ 2012-02-21 14:50 carekee 阅读(986) 评论(0) 推荐(0) 编辑
摘要: YUV视频格式到RGB32格式转换的速度优化 上篇 HouSisong@GMail.com 2007.10.30 tag: YUV,YCbCr,YUV到RGB颜色转换,YUV解码,VFW,视频,MMX,SSE,多核优化 摘要: 我们得到的很多视频数据(一些解码器的输出或者摄像头的输出等)都使用了一种叫YUV的颜色格式;本文介绍了常见的YUV视频格式(YUY2/YVYU/UYVY/I420/YV12等)到RGB颜色格式的转换,并尝试对转化的速度进行优化; 全文 分为: 《上篇》文章首先介绍了YUV颜色格式,并介绍了YUV颜色格式和RGB颜色格式之间的相互转换;然后重点介绍了YUYV视频格式... 阅读全文
posted @ 2012-02-21 14:48 carekee 阅读(495) 评论(0) 推荐(0) 编辑
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 61 下一页