自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

benny5609的专栏

人生,到世上走一遭,只不过是单纯的体验与学习认识,当我们在临死的时候,可以光荣地对自己说:"我已领略过"便不枉此生。

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

原创 DLL导出函数的研究

一,DLL里函数分类: A.废函数(未导出也未被调用的函数); B.纯正导出(未引用其他函数的导出的函数)          C.引用导出(引用了其他函数的导出函数) D.被引用函数二,导出函数地址的计算原则: 1.忽略掉A    2.谁先有实现,谁先得到地址低位 3.后一个实现函数的导出地址是前一个实现函数+本函数的代码 三,写导出DLL时所遵照的原则: 1.B-->

2008-04-30 11:31:00 988

原创 符号文件——Windows 应用程序调试必备

一、何谓符号文件?  符号文件(Symbol Files)是一个数据信息文件,它包含了应用程序二进制文件(比如:EXE、DLL等)调试信息,专门用来作调试之用,最终生成的可执行文件在运行时并不需要这个符号文件,但你的程序中所有的变量信息都记录在这个文件中。所以调试应用程序时,这个文件是非常重要的。用 Visual C++ 和 WinDbg 调试程序时都要用到这个文件。  在 Windows 系

2008-04-29 16:55:00 790

原创 程序崩溃 dump 文件 *.kdmp的使用

1.开启 "错误报告" Error Report, PPC上可以在“开始”-〉“设置”-〉“系统”-〉“错误报告”-〉“启用错误报告”2.日常使用(不连接KITL)时,程序发生崩溃,会提示是否把错误报告给微软,此时选择“发送”(注:如果选择“不发送”下面的步骤就不要看了)。这样会生成 “ce+日期+序号.kdmp” 文件。3.连接USB ActiveSync,在设备"windows/system/

2008-04-29 11:51:00 6975 2

原创 重新压缩一个AVI文件

这里我们讲解怎样用DirectShow来压缩一个AVI文件。我们重点放到视频压缩,同样的方法可以应用到音频压缩。我们分以下几步来讲解:1、 选择一个压缩过滤器有许多种方法可以压缩视频或者音频,比如:a、 本地DirectShow过滤器b、 视频压缩管理编码器(VCM)c、 音频压缩管理编码器(ACM)d、 DirectX媒体对象(DMOs)在DirectShow中,VCM被AVI Compress

2008-04-27 12:14:00 1194

原创 利用DirectShow实现对视频文件H264编码与解码基类 3

bool CEncode::_HasDecodeFilter(CString strFileName) { IGraphBuilder * pGraph = NULL; IBaseFilter * pSrc = NULL; HRESULT hr = E_FAIL; bool bHas = false; hr = CoCreateInstance(CLSID_FilterGraph, NULL, C

2008-04-27 11:49:00 1765 1

原创 利用DirectShow实现对视频文件H264编码与解码基类 2

/**************编码Graph的创建*************/   HRESULT hr = E_FAIL;   hr = _CreateFilterGraph(&m_nDecode.pGraph, &m_nDecode.pBuilder);   if(FAILED(hr))   {    AfxMessageBox("Uninitialize COM Library!");   

2008-04-27 11:48:00 2205

原创 利用DirectShow实现对视频文件H264编码与解码基类

// Encode.h: interface for the CEncode class. ////////////////////////////////////////////////////////////////////// #if !defined(AFX_ENCODE_H__F6B1A672_0A17_4011_87DA_F97CA0B0E52E__INCLUDED_) #defi

2008-04-27 11:47:00 1909

原创 一般筛选器表的生成

要创建一个筛选器表,您要从创建一个筛选器表管理器的实例开始,如下所示:IGraphBuilder* pIGB;HRESULT hr = CoCreateInstance(CLSID_FilterGraph,    NULL, CLSCTX_INPROC_SERVER, IID_IGraphBuilder,    (void **)&pIGB);  筛选器表管理器支持下列表生成方法:

2008-04-27 11:18:00 1281

原创 DirectShow开发快速入门之慨述

摘要:本篇文档概括性的介绍了DirectShow的主要组成部分,以及一些Directshow的基本概念。熟悉这些基本的知识对于Directshow的应用开发或者过滤器的开发者都会有所帮助。   DirectShow是微软公司提供的一套在Windows平台上进行流媒体处理的开发包,与DirectX开发包一起发布。那么,DirectShow能够做些什么呢?且看,DirectShow为多媒体流的捕捉和回

2008-04-27 11:12:00 1223

原创 如何查看自己程序中正在运行的Graph?

在帮助文档中可以找到两个有关这个问题的函数AddToRot和RemoveFromRot。具体函数抄录如下:HRESULT AddToRot(IUnknown *pUnkGraph, DWORD *pdwRegister) { IMoniker * pMoniker; IRunningObjectTable *pROT; if (FAILED(GetRunnin

2008-04-27 10:55:00 1797

原创 DirectShow 媒体文件回放总结

作者:Inkick1.概述DirectShow中媒体文件回放的过程也就是一个为媒体文件选择相应所需的Filter、构建Filter Graph、并对Filter Graph的状态进行维持、控制的过程。这里所说的媒体文件,不仅仅是指音频、视频文件,同时也包括bmp、jpeg、gif等图形图像格式以及midi等数字化音乐序列。因此,使用DirectShow进行媒体文件的回放需要经过以下的步

2008-04-27 10:33:00 5520 2

原创 directx的媒体对象

微软的directx媒体对象简称DMOs,是一种写流数据的新方法。由于某些原因,DMOs非常象微软的directshow过滤器。DMO处理数据是利用输入数据来产生输出数据的。DMO比部件API函数更加类似directshow。因此,DMO非常容易创建、测试和使用。DMO完全兼容directshow,但应用程序可以在没有directshow的情况下使用DMO。在directshow的应用程序里,

2008-04-27 09:49:00 1359

原创 A simple DirectShow example

#include dshow.h>#include "stdio.h"#pragma comment(lib,"strmiids.lib")void main(void)...{    IGraphBuilder *pGraph = NULL;    IMediaControl *pControl = NULL;    IMediaEvent   *pEvent = NULL;    // 初

2008-04-27 09:08:00 879

原创 使用DirectShow驱动摄像头

对于小摄像头的驱动有几种方法,通过使用DirectShow来驱动摄像头灵活性比较好,有简单的方法也有比较复杂但更有效的方法,本文只介绍简单方法,希望与大家交流!   用DirectShow来使用摄像头,一般要求摄像头的驱动是WDM格式的,当然,一些比较老的驱动格式DirectShow也可支持。DirectShow通过图形过滤管理器(Filter Graph Manager)来与上层应用程序和下

2008-04-27 03:50:00 1141

原创 基于DirectShow的流媒体解码和回放

一、 前言  流媒体的定义很广泛,大多数时候指的是把连续的影像和声音信息经过压缩处理后放上网站服务器,让用户一边下载一边观看、收听,而不需要等整个压缩文件下载到自己机器就可以观看的视频/音频传输、压缩技术。流媒体也指代由这种技术支持的某种特定文件格式:压缩流式文件,它通过网络传输,并通过个人电脑软件进行解码。  MCI是微软为Windows最初提出的多媒体编程接口,随着多媒体技术的迅速发展,各种压

2008-04-27 03:47:00 688

原创 DirectShow非线性编辑DES剖析

DES (DirectShow Editing Services),是一套基于DirectShow核心框架的编程接口。DES的出现,简化了视频编辑任务,弥补了DirectShow对于媒体文件非线性编辑支持的先天性不足。但是,就技术本身而言,DES并没有超越DirectShow Filter架构,而只是DirectShow Filter的一种增强应用。我们可以从下图中了解到DES在我们整个多媒体处理

2008-04-27 03:46:00 1362

原创 ATI王国的缔造者何国源:国际化就像做比萨饼

如果考核结果让人满意的话,2004年的6月1日,ATI公司新的首席执行官戴夫·奥顿将结束他长达四年的考察期,正式走马上任,接替ATI的缔造者、现任董事长、首席执行官何国源。戴夫·奥顿并不是第一个被选择实现这种更替的人,在他之前的一个准接班人因为在考察期表现不好,已经被何国源赶下来并开除掉了。  1994年,何国源提拔了一个“接班人”作首席运营官,这个“接班人”看起来方方面面都还好,何国源准备不

2008-04-26 10:46:00 1550

原创 NVIDIA黄仁勋:互联网领域30岁创业恐太老

2007年11月2日下午,清华大学美术学院三层报告厅,NVIDIA联合创始人、首席执行官兼总裁黄仁勋先生发表了题为“NVIDIA:还原一个真世界——感悟视觉革命的魅力”的主题演讲。随后,他就自己、公司以及业界热点话题回答了清华学子的提问。在回答关于创业的问题时,黄仁勋表示,做一个完美主义者固然不错,但开始时会非常的麻烦。他还表示,在互联网世界里,30岁开始创业恐怕就“太老了”。以下为问答全

2008-04-26 10:25:00 1960

原创 黄仁勋:华人成就经典美国梦

谈及黄仁勋的知名度与影响力,通常都先提及美国《财富》杂志2001年推出的《40岁以下的40位富翁》,因为这里有一个有趣的巧合。  这一年,《财富》打破常规,上榜的富翁不仅有企业家,还是各路明星。黄仁勋以5.07亿美元的身价,排在这个榜单的第12位,第13位刚好是大名鼎鼎的蓝球巨星迈克尔·乔丹,身价3.98亿美元。巧合的是,黄仁勋与乔丹刚好同年同月同日生,即1963年2月17日。乔丹的知名度托起

2008-04-26 10:22:00 4688 1

原创 Window 中窗口的层次关系以及窗口的属性

Window 窗口层次关系  相信在Window 下面编程的很多兄弟们都不是很清楚Window 中窗口的层次关系是怎么样的,这个东西很久已经研究过一下,后来又忘记了,今天又一次遇到了这个问题,所以便整理一下。下面就说说Window 中桌面(Deskkop)以及顶层窗口,以及子窗口之间的关系。    在Window 的图形界面下,最基本显示信息的元素就是窗口,每一个Window 窗口都管理着自己与其

2008-04-26 09:46:00 651 1

原创 3D图形技术常用技术一览

3D图形技术常用技术一览一、场景管理相关的技术(scene manager th):八叉树(octree) 、四叉树(quadtree)、二叉树(biniary space tree)、多叉树(n - tree)、入口技术(portal)、扩展入口(anti-portal)二、通用内核渲染管理技术(render manager)队列(queue)、优先队列(deque)、链

2008-04-26 09:11:00 1818

原创 游戏引擎列表及其门户网站

物理Engine novodexhttp://www.novodex.com/odehttp://ode.org/Tokamakhttp://www.adamdawes.com/programming/tokamak/index.htmlNewtonhttp://www.physicsengine.com/OPCODEhttp://www.codercorner.com/Opcode.htmfla

2008-04-26 09:08:00 1645

原创 比较简单的2D游戏引擎C++类

//GameEngine.h文件:#pragma once#include LRESULT CALLBACK WndProc (HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);class GameEngine{protected:HINSTANCE m_hInst;    // 应用程序实例句柄HWND   m_hWnd;     //

2008-04-26 09:07:00 8508 3

原创 游戏相关引擎荟萃2(English)

Favorites Haafs Game Engine - Hardware accelerated 2D game engine codemonsters programming Radiant http://gamdev.org/ kjAPI - 3D GAME C++ API The Code Proj

2008-04-26 08:56:00 1050

原创 游戏相关引擎荟萃1(English)

Engines _AI Engine BioGraphic Technologies - Advanced AI for Games, Animation and Simulation FEAR -- Foundations for Genuine Game AI OpenSteer _Net Engine Rakkarsoft Gamewiz Arkhart -- Arkhart The ADA

2008-04-26 08:55:00 1658

原创 嵌入式Linux图形系统

为了让读者对嵌入式 Linux 当中能够使用的图形及图形用户界面有个较为全面的认识,本文将为读者介绍一些嵌入式 Linux 系统中常见的图形及图形用户界面系统,并作为"基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南"系列的最后一篇文章。本文首先概述了 Linux 图形领域的基本设施,然后描述了一些可供嵌入式 Linux 系统使用的高级图形库以及图形用户界面支持系统,并大概比较了这些

2008-04-26 08:50:00 1136

原创 交换两段不连续的内存块(Swap Nonadjacent Memory Blocks)

问题:如何交换两段不连续的内存块?分析篇这道题是编程珠玑,第二版>第二章后的一个习题。看过这本书的朋友一定会对书中第二章介绍的用来交换两段连续的内存块的"reversal algorithm"一定记忆犹新。"reversal algorithm"无论在时间复杂度还是在空间复杂度上都有良好的表现,更重要的是它的实现相当简单:1。假设有两段连续的内存块a和b;2。首先对内存块a进行反转:a = re

2008-04-25 12:15:00 794

原创 PE文件格式与API HOOK

对于windows低层编程来说,进行API拦截始终是一件让人激动的事,用自己的代码来改变其它程序的行为,还有比这个更有趣吗?而且,在实现API拦截的过程中我们还有机会去熟悉许多在RAD编程环境中很少接触的东西,如DLL远程注入、内存管理,PE文件格式等知识。许多商业软件,如金山词霸等词典软件,各种即时汉化软件、甚至一些网络游戏的外挂中都用到了这种技术,各种调试工具中多多少少也要用到这种技术。实

2008-04-25 11:35:00 1242 1

原创 QT4.3.3+VC6.0安装编译过程详解

A.    安装前的准备检查你的QT4.3.3压缩包的位置,并解压。假设解压后的路径为F:/qt433,那么需要先设置环境变量,首先在“我的电脑”—“属性”---“高级”---环境变量---**的用户变量---新建,添加一个变量名为QTDIR 变量值为F:/qt433(注意:要对应qt解压后的路径),然后继续添加环境变量,变量名为QMAKESPEC,变量值为win32-msvc,在PATH变量中也

2008-04-25 11:03:00 1032 1

原创 透过汇编另眼看世界之类成员函数指针

前言:在CSDN论坛经常会看到一些关于类成员函数指针的问题,起初我并不在意,以为成员函数指针和普通的函数指针是一样的,没有什么太多需要讨论的。当我找来相关书籍查阅了一番以后,突然意识到我以前对成员函数指针的理解太过于幼稚和肤浅了,它即不像我以前认为的那样简单,它也不像我以前认为的那样"默默无闻"。强烈的求知欲促使我对成员函数进行进一步的学习并有了这篇文章。一。理论篇在进行深入学习和分析之前,还是先

2008-04-25 10:52:00 802

原创 透过汇编另眼看世界之DLL导出函数调用

前言:我一直对DLL技术充满好奇,一方面是因为我对DLL的导入/导出机制还不是特别的了解,另一面是因为我发现:DLL技术在Windows平台下占有重要的地位,几乎所有的Win32 API都是以导出函数的形式存放于不同的DLL文件中,在DLL方面的学习是任何一个想深入研究Windows内部机制的Windows程序员都不可能回避的事实。我在查阅了大量的文章后,对DLL技术有了一定的了解,所以我写了这篇

2008-04-25 10:49:00 1645

原创 虚函数表放在哪里?

引言:近日CSDN的"C/C++语言"版的一个问题引起了我的注意:"请问虚函数表放在哪里?"。我也曾经思考过这个问题,零零散散也有一定的收获,这次正好趁这个机会把我对这一部分的理解整理一下。 首先值得声明的是,本文的编译环境是VS2002+WinXP。C++标准并没有对虚函数的实现作出任何的说明,甚至都没有提到虚函数的实现需要用虚表来实现,只不过主流的C++编译器的虚函数机制都是通过虚表来实现的,

2008-04-25 10:37:00 1211

原创 一次有意义的面向对象设计尝试

前言  上一周由于工作的需要,我尝试运用面向对象的设计思想来解决实际工作中遇到的一个设计问题。整个设计过程主要涉及到C++语言,OO编程思想,设计模式这三个方面的知识,是对我软件设计能力的一次综合考验。虽然最后由于种种原因,我的设计方案并没有获得采纳,但是这个并不重要,重要的是在整个设计过程中我自己思考过,并提出了我的方案,也就是说,我在这次设计过程中学到了很多。我决定把这次设计记录下来,一方面是

2008-04-25 10:31:00 957

原创 C++类对象创建过程揭密

介绍初看到这个题目,你可能会有些疑惑:C++类对象的创建还有什么好说的,不就是调用构造函数么?实际上情况并不是想象中的那么简单,大量的细节被隐藏或者被忽略了,而这些细节又是解决一些其他问题的关键,所以我们很有必要深入到这块"神秘"的区域,去探索鲜为人知的秘密。 分配空间(Allocation)创建C++类对象的第一步就是为其分配内存空间。对于全局对象,静态对象以及分配在栈区域内的对象,对它们的内存

2008-04-25 10:29:00 782

原创 透过汇编另眼看世界之函数调用

在我的另外一篇文章中 ,我提到了要通过汇编语言来分析虚函数调用的真相。我们现在就开始踏上这次艰辛却非常有意思的旅程。其他闲话少说,直接进入主题。本文中使用的C++代码:#include "stdafx.h"#include iostream>class CBase {public:    virtual void callMe();};class CDerived: public CBas

2008-04-25 10:27:00 919

原创 Windows下动态内存分配方式

这里的"动态内存"包含以下两个方面的内容:  1.内存。这里的"内存"指的是进程的虚拟内存空间。在Win32环境下,每一个进程拥有独立的,大小为4G(0x0000 0000 ~ 0xFFFF FFFF)的虚拟内存空间。  2.动态。这里的"动态"指的是进程虚拟内存空间中的动态内存区域。在一个进程的虚拟内存空间中,只有动态内存可以在运行是被应用程序自由的分配/使用/释放。在Win32环境下,我们

2008-04-25 10:26:00 636

原创 透过汇编另眼看世界之多继承下的虚函数函数调用

 function StorePage(){d=document;t=d.selection?(d.selection.type!=None?d.selection.createRange().text:):(d.getSelection?d.getSelection():);void(keyit=window.open(http://www.365key.com/storeit

2008-04-25 10:22:00 1347

原创 boost::function用法详解

要开始使用 Boost.Function, 就要包含头文件 "boost/function.hpp", 或者某个带数字的版本,从 "boost/function/function0.hpp" 到 "boost/function/function10.hpp". 如果你知道你想保存在 function 中的函数的参数数量,这样做可以让编译器仅包含需要的头文件。如果包含 "boost/function

2008-04-24 17:55:00 54740 10

原创 c++对象模型笔记

很佩服侯捷译书的细致,所以总是想看一遍他翻译的书很值。读技术的书我一向没有很好的习惯做笔记,这次破例记一下重点。(书看完了,笔记还没做完) 深度探索c++对象模型第一章:关于对象 1. c++没有什么天生的比c庞大和迟缓。加上封装后的布局成本(layout costs for adding encapsulation)以及额外存取时间主要由virtual引起1.1 virt

2008-04-24 17:49:00 1581

原创 VC++,掀起你的盖头来——谈VC++对象模型

一个C++程序员,想要进一步提升技术水平的话,应该多了解一些语言的语意细节。对于使用VC++的程序员来说,还应该了解一些VC++对于C++的诠释。Inside the C++ Object Model虽然是一本好书,然而,书的篇幅多一些,又和具体的VC++关系小一些。因此,从篇幅和内容来看,译者认为本文是深入理解C++对象模型比较好的一个出发点。  这篇文章以前看到时就觉得很好,旧文重读,感觉理解

2008-04-24 17:43:00 960

空空如也

空空如也

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

TA关注的人

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