自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

锄禾日当午

临渊羡鱼不如归家织网

  • 博客(110)
  • 资源 (17)
  • 收藏
  • 关注

转载 windows驱动开发 一

1.首先,先从基础的东西说起,开发WINDOWS下的驱动程序,需要一个专门的开发包,如:开发JAVA程序,我们可能需要一个JDK,开发WINDOWS应用程序,我们需要WINDOWS的SDK,现在开发WINDOWS下的驱动程序,我们需要一个DDK/WDK。  2.DDK(Driver Developer Kit)和WDK(Windows Driver Kit)的区别:  这个要说说驱动相关的

2013-11-29 17:27:32 916

转载 Win32汇编--图形操作--GDI原理

Win32汇编--图形操作--GDI原理 Windows是基于图形界面的,所以在Win32编程中,图形操作是最常用的操作。GDI的意义在于将程序对图形界面的操作和硬件设备隔绝开来,在程序中可以将所有的图形设备都看成是虚拟设备,包括视频显示器和打印机等,然后通过GDI函数用同样的方法去操作它们,由Windows负责将函数调用转化成针对具体硬件的操作。只要一个设备提供了和Windows兼容的驱

2013-11-29 17:21:13 2742

转载 windows编程之GDI基础(一)

首先需要解释下GDI:Graphics Device Interface.就是图形设备接口的意思.  那么什么又是图形设备接口呢?    他的意思就是所有关于图形绘制的东西都是和它有关的.我们在显示器上面显示的东西都是和GDI有关的.甚至windows自己绘制滚动条什么的都是用GDI的.  GDI的原理:    在windows中,GDI主要是由GDI32.dll这个动态链接库里面

2013-11-29 17:16:56 919

转载 GDI编程小结

图形设备接口(GDI)是一个可执行程序,它接受Windows应用程序的绘图请求(表现为GDI函数调用),并将它们传给相应的设备驱动程序,完成特定于硬件的输出,象打印机输出和屏幕输出。GDI负责Windows的所有图形输出,包括屏幕上输出像素、在打印机上输出硬拷贝以及绘制Windows用户界面。也就是Windows的图形编程。一、GDI体系结构1、  GDI32.DLL导出的函数GDI提

2013-11-29 17:15:12 1781

转载 通过注册表获取硬件信息

LONG QueryValue( LPTSTR szValue, LPCTSTR lpszValueName, DWORD* pdwCount )szValue:字符串数据类型的键值lpszValueName:所读取键值项的名称pdwCount:字符串大小成功读取注册表中某键值项的键值,成功返回ERROR_SUCCESS;失败返回错误值注意第三个参数,为存储该键值的大小

2013-11-29 17:06:44 6514 1

转载 用户模式和内核模式

运行 Windows 的计算机中的处理器有两个不同模式:“用户模式”和“内核模式”。根据处理器上运行的代码的类型,处理器在两个模式之间切换。应用程序在用户模式下运行,核心操作系统组件在内核模式下运行。多个驱动程序在内核模式下运行,但某些驱动程序在用户模式下运行。当启动用户模式的应用程序时,Windows 会为该应用程序创建“进程”。进程为应用程序提供专用的“虚拟地址空间”和专用的“句柄表格”。

2013-11-29 16:29:48 1403

转载 理解Windows内核模式与用户模式

内核层次架构windows程序运行分为内核模式和用户模式,内核模式可以访问所有的内存地址空间, 并且可以访问所有的CPU指令。一般程序运行在用户模式, 通过系统调用切换到内核模式执行系统功能,Windows系统通过这种方式来确保系统的安全和稳定。下面是内核的层次划分:硬件抽象层(Hardware Abstraction Layer) (HAL) (hal.dll)

2013-11-29 16:26:59 1382

转载 系统调用:系统调用的实现

7.3.3 系统调用的实现  1. 中断和陷入硬件机构  (1) 什么是中断和陷入。  中断是指CPU对系统发生某事件时的这样一种响应:CPU暂停正在执行的程序,在保留现场后自动地转去执行该事件的中断处理程序;执行完后,再返回到原程序的断点处继续执行。  (2) 中断和陷入向量。  2. 系统调用号和参数的设置  (1) 直接将参数送入相应的寄存器中。  (2)

2013-11-29 15:48:15 994

转载 系统调用的实现及调用过程

我们在编程时用到的很多函数,如fork、open等这些函数最终都是在系统调用里实现的,比如说我们有这样一个程序:这里我们用到了两个函数,即fork和exit,这两函数都是glibc中的函数,但是如果我们跟踪函数的执行过程,看看glibc对fork和exit函数的实现就可以发现在glibc的实现代码里都是采用软中断的方式陷入到内核中再通过系统调用实现函数的功能的。具体过程我们在系统调

2013-11-29 15:42:48 3066

转载 系统调用如何实现

系统调用的实现与一般过程调用的实现相比,两者间有很大差异。对于系统调用,控制是由原来的用户态转换为系统态,这是借助于中断和陷入机制来完成的,在该机制中包括中断和陷入硬件机构及中断与陷入处理程序两部分。  中断和陷入硬件机构  图1所示为中断的处理过程。中断可进一步分为外中断和内中断。外中断是指由于外部设备事件所引起的中断,如通常的磁盘中断、打印机中断等;而内中断则是指由于CPU内部事件所引

2013-11-29 15:41:50 4527 1

转载 windows api架构

每一个操作系统都要通过某种方式为开放人员提供一组服务---也就是Application Programming Interface(应用程序编程接口.API)..开发人员就通过API来编写应用程序.例如.DOS是用著名的INT 21h提供此接口的.(之前讲到的软件中断.具体功能需要查表.CPU指令).微软的操作系统也多时如此.当然API有几种实现..掌上电脑的(windowsCE)..

2013-11-29 15:28:27 1091

转载 NT.dll

打开NTDLL.dll,惊奇的发现原来CRT的许多基本函数居然都是在这里实现的!甚至包括qsort,ceil这样的函数,还有臭名昭著的 strcpy(严格来讲,这只能怪使用者不当心)。堆的释放,进城管理,似乎都是在这。于是,我决定,仔细察看以下它,这1410个函数是做什么的.  用户模式的代码在调用系统内核函数的时候,首先把一个叫做system call number的数放在EAX中,把参数放

2013-11-29 15:19:42 1711

转载 Linux 汇编器:对比 GAS 和 NASM

与其他语言不同,汇编语言要求开发人员了解编程所用机器的处理器体系结构。汇编程序不可移植,维护和理解常常比较麻烦,通常包含大量代码行。但是,在机器上执行的运行时二进制代码在速度和大小方面有优势。对于在 Linux 上进行汇编级编程已经有许多参考资料,本文主要讲解语法之间的差异,帮助您更轻松地在汇编形式之间进行转换。本文源于我自己试图改进这种转换的尝试。本文使用一系列程序示例。每个程序

2013-11-29 11:52:40 1068

转载 x86和X64

x86是对基于intel处理器的系统的标准缩写。X与处理器没有任何关系,它是一个对所有*86系统的简单的通配符定义,是一个intel通用计算机系列的编号,也标识一套通用的计算机指令集合,由于早期intel的CPU编号都是如8086,80286来编号,由于这整个系列的CPU都是指令兼容的,所以都用X86来标识所使用的指令集合如今的奔腾,P2,P4,赛扬系列都是支持X86指令系统的,所以都属于X86家

2013-11-29 11:43:03 824

转载 Window上搭建汇编语言开发环境

1、下载masm 6.11安装程序,这是microsoft开发汇编开发环境,包括可视化开发工具,汇编工具masm,连接工具link.exe,调试工具debug.exe。当然这里也可以安装更高级版本的masm,但是要求比较多,还要装visual c++什么乱起八糟的工具,简便起见,就用6.x版本玩玩也够了; 2、设置环境变量,在path中添加%MASM_HOME%\BIN;%MASM_HOM

2013-11-29 11:27:24 883

原创 汇编开发工具

排序: 收录时间 | 浏览数80x86的汇编器NASMNASM是一个为可移植性与模块化而设计的一个80x86的汇编器。它支持相当多 的目标文件格式,包括Linux和'NetBSD/FreeBSD','a.out','ELF','COFF',微软16 位的'OBJ'和'Win32'。它还可以输出纯二进制文件。它的语法设计得相当的简 洁易懂,和Intel语法

2013-11-29 11:25:23 2543

转载 汇编语言开发环境搭建方法

汇编语言几乎是所有程序员在大学时的必修课,本文将给大家介绍的是四种汇编语言开发环境搭建方法由于这些日子一直都在研究底层的技术,从 Windows 驱动程序,到 Windows 内核等等技术的学习,让我对底层的技术越发有兴趣了,而刚好,在研究 WRK 时,对内存管理,寄存器,地址总线,数据总线,控制总线等的理解不够透彻,所以越发的想学习汇编程序设计来提升功力,而由于近来在

2013-11-29 11:01:39 1261

转载 汇编win7开发环境

我们的win 7 64位环境下,在DOS下竟然没有debug.exe,好不容易找到一个debu.exe,在DOS环境下调用,竟然是下面的结果:win7 64位和32位的debug.exe 不兼容。      就到网上找相关的解决办法,终于找到了一个很好的工具:DOSBOX。   一,下面就介绍下DOSBOX如何进入debug环境下:        1,DOSBOX本来是用来在win

2013-11-29 10:45:28 1234

转载 windows体系结构

Windwos 体系结构:--------------------------------------用户模式(ring3)系统进程、服务进程、应用程序、环境子系统(向应用程序提供环境和应用程序编程接口 Appplication Programming Interface-API。Windows 2000/XP 支持三种环境子系统:Win32、POSIX 和 OS/2,其中最重要的

2013-11-28 18:39:46 2159

转载 yaolog

写代码总免不了要看日志。就C++而言,不少程序员只是简单地用printf来输出日志,或者临时写个日志类,log4cpp等比较“重型”的日志库的使用率反而并不怎么高(至少从我经历的项目而言)。也许是不想为不需要的功能付出额外的学习成本,但无论如何,对于通用类别的工具采取临时手写的方式来应付,从长远考虑,在功能性和健壮性方面是得不偿失的。写这个日志类(yaolog)的最初的想法只是为了实现“输出到文件

2013-11-28 16:02:31 1556

原创 安装包工具

GKWare http://www.gkware.com/Inno setup http://www.jrsoftware.org/ Advanced Installer http://www.advancedinstaller.com/国内小兵安装包 http://www.cnxbsoft.com/xb/default.aspx

2013-11-27 16:59:19 598

转载 Microsoft IExpress:微软自带的安装程序包制作工具

iexpress是微软为压缩CAB 文件及制作安装程序所开发的小工具,专用于制作各种 CAB 压缩与自解压缩包的工具,其实应该算是MAKECAB 的一个Shell。虽一直藏身于微软的产品中,却从未对它说明过,但不能否认是一款不错的免费软件。使用 IExpress 可以创建自解压 CAB 压缩文件,压缩率与 WinRAR 相当。该软件为绿色软件,解压后就可以使用。其中的“Microsoft

2013-11-27 16:16:19 3554 1

原创 Simple DirectMedia Layer 视频解决方案

http://www.libsdl.org/Simple DirectMedia Layer 的官网SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。目前SDL多用

2013-11-27 13:52:18 1562

转载 音频视频解决方案:GStreamer/ffmpeg/ffdshow/directshow/vfw

音频视频编程相关:GStreamer/ffmpeg/directshow/vfwlinux和window下几种流行的音频视频编程框架作一个总结,防止自己迷惘,免于晕头转向。一、GStreamerGStreamer is a library that allows the construction of graphs of media-handling components, r

2013-11-27 13:36:28 1320

转载 用C/C++开发基于VLC SDK的视频播放器

在windows系统如果开发万能播放器,一般都是基本DirectShow来开发,开发也很简单,但缺点也很多,一个文件格式是否能够播放完全取决于你是否安装了正确的解析器和解码器,即使现在有了万能解器安装包也会出现很多问题,不过自从很多开源软件的出现,比如大名鼎鼎的ffmpeg,vlc等,一切都变得简单起来,基于ffmpeg sdk开发就不多介绍了,本文主要介绍基于 VLC SDK来开发自己的播放器,

2013-11-27 13:15:26 4424

转载 多媒体开发

当前,在Windows 平台下开发视频应用程序一般采用两种方式:一种是基于视频采集卡所附带的二次软件开发包SDK(Software development kit)进行。这种方式的优点是应用方便,容易上手,缺点是对硬件的依赖性较强,灵活性差,且功能参差不齐,不能充分满足各种视频应用程序的开发需要;另一种方式是基于VFW(Video for Windows)进行的。VFW 是Microsoft公

2013-11-27 13:04:40 1329

原创 AnyChat SDK

AnyChat SDK是一套多媒体即时通讯平台库,大部分需要用到音视频交互的系统都可以采用AnyChat SDK来开发。AnyChat SDK内部封装了音视频的采集、编码、传输、解码以及播放(显示)功能,只需要几个简单的API调用,即可实现多个用户之间的语音、视频、文字交互,由于内核已经实现了P2P网络,所以上层应用不需要关心复杂的网络传输问题,简化了上层应用的开发难度,上层应用的开发人员可以把更

2013-11-27 11:39:43 1828

原创 开源日志库

muduo 0.5.0 也包含了这个日志库 http://code.google.com/p/muduo/ zlog是一个高性能、线程安全、灵活、概念清晰的纯C日志函数库。作者编写的初衷是因为log4c不给力,而log4j、log4cxx等log4系列的日志函数库在概念上不正确。zlog继承了unix操作系统中syslog的伟大传统,将日志系统的分类、级别、输出方向、输出格式完全解耦。

2013-11-26 18:17:46 1622

转载 Glog日志库

开源项目首页:https://code.google.com/p/google-glog/Glog项目路径: https://code.google.com/p/google-glog/downloads/list第一步,下载glog-0.3.3.tar.gz,解压,直接打开google-glog.sln工程文件,如果vs版本不对,让其自动转换第二步,编译,在Debug

2013-11-26 17:23:50 3183

转载 WINNT内核

一、直观认识Windows分析一个软件,最容易的入手方法就是先搞清楚它的每个文件都是干嘛的。我们先来让大家对自己正在使用的Windows 操作系统有个直观认识。请在你使用的Windows 2000或Windows XP上,于WINNT/system32或Windows/system32目录(系统目录)下,找到以下几个文件:HAL.DLL、NTOSKRNL.EXE、NTDLL.DLL、KERNE

2013-11-26 15:38:16 1294

转载 世界十大游戏引擎

第10位:The Dead engine,死亡引擎,美国EA公司重制过的引擎,代表作是《死亡空间》系列。第9位:Mt Framework引擎,日本Capcom公司为了所有“capcom次时代游戏”而打造的,代表作是《鬼泣4》,《生化危机5》等等。第8位:Anvil引擎,美国育碧公司,代表作是《刺客信条》,《波斯王子》。第7位:EGO引擎,这个引擎大部分游戏都是赛车游戏,代表

2013-11-26 13:11:34 7595

转载 图像处理库

1.对OpenCV的印象:功能十分的强大,而且支持目前先进的图像处理技术,体系十分完善,操作手册很详细,手册首先给大家补计算机视觉的知识,几乎涵盖了近10年内的主流算法;然后将图像格式和矩阵运算,然后将各个算法的实现函数。我用它来做了一个Harris角点检测器和Canny边缘检测器,总共就花了一个小时(第一次用OpenCV)。而且该库显示图像极其方便,两句话就可以。但该库似乎不大稳定,对32F和1

2013-11-26 11:50:51 1104

转载 几种图像处理库的研究

几种图像处理库的研究目前比较出名的图像处理库有很多,比如LEADTOOLS,这个是功能非常强大的图像多媒体库,但是这个是收费注册的。开源的图像库也有不少,比如:ImageStone、GIMP、CxImage等,虽然它们的功能没有LEADTOOLS强大,但是一般的图像处理是可以应付的。下面分别介绍这几种图像处理库的使用方法。LEADTOOLSLEAD Technologies 是一个

2013-11-26 11:44:16 4927

转载 Tesseract 3 语言数据的训练方法

需要用到的程序(1) Tesseract 3.00(2) Tesseract 3.00 Bugfix(3) CowBoxer 1.01(4) Universal Extractor 1.61 (非必需)使用 Universal Extractor 将 Tesseract 的安装包解开,再用 Bugfix 里的 tesseract.exe 覆盖原来的主程序

2013-11-26 11:32:57 838

原创 常见C/C++ XML解析器比较

常见C/C++ XML解析器有tinyxml、XERCES、squashxml、xmlite、pugxml、libxml等等,这些解析器有些是支持多语言的,有些只是单纯C/C++的。如果你是第一次接触到XML解析,那么关于XML解析器的选择问题的确令人头疼,我们先看一下这些解析器有哪些特点。一、Xerces XML解析器官方网址:http://xerces.apache.org/xerce

2013-11-26 10:39:41 1657

转载 字符编码问题,UNICODE\UTF-8\UTF-16\UTF-32\UCS\ANSI\GBK\GB2312等乱七八糟的名词

字符编码的问题让我困惑了好久的一段时间,其实简单的想,字符编码没有什么东西的,可是想真弄明白还是花去了我一点时间,前端时间写了一个简单的log程序,主要的工作就是支持系统运行时输出日志信息,同时允许定制不同级别的日志输出,刚开始的时候只是写入到文件中,可用过之后发现,只是写入到文件中,在进行系统调试的时候不是很方便,还要打开文件,浏览,再返回源代码,如果能够有一个界面展示岂不是更好,列表显示日志,

2013-11-26 10:24:47 978

转载 各字符集

1. ASCII码我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11111111。上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位

2013-11-26 10:16:52 577

转载 深入了解字符集和编码

一、什么是字符集?什么是编码? 字符(Character)是文字与符号的总称,包括文字、图形符号、数学符号等。 一组抽象字符的集合就是字符集(Charset)。 字符集常常和一种具体的语言文字对应起来,该文字中的所有字符或者大部分常用字符就构成了该文字的字符集,比如英文字符集。 一组有共同特征的字符也可以组成字符集,比如繁体汉字字符集、日文汉字字符集。 字符集的子集也是字符

2013-11-26 10:08:30 789

原创 语言标准库和系统API

语言标准库是为了编译器之间互通而规定,对系统API的规定,规定系统API中必须提供这样的接口

2013-11-25 16:57:47 1098

原创 Apache所有版本下载(官方地址)

Apache所有版本下载(官方地址)Apache所有版本下载(官方地址)apache_1.3.17-win32-no_src.msi            02-Feb-2001 07:17 1.7Mapache_1.3.17-win32-src.msi               02-Feb-2001 07:11 2.8Mapache_1.3.19-

2013-11-23 19:05:33 5884 5

ajaxFileUpload

AJAX实现文件上件

2016-09-06

MFC NC重绘

MFC的窗口NC区重绘

2016-09-01

win32重绘按钮

win32按钮重绘 窗口注册方式和子类化以及DrawItem三种方式

2015-10-16

logcplus的使用

logcplus的源码供使用.简单和调用说明

2013-12-03

从注册表获取硬件信息

注册表读取硬件信息,通过win32API

2013-11-29

snmp 基于java

使用java 操作snmp OID,读取和写入。

2013-11-27

基于WinSnmp的网络set操作

基于Winsnmp向snmp单元写入数据。使用vc++6.0开发

2013-11-27

动态链接库实现完整导出整个类

动态链接库dll中导出所在的类成分,包括变量

2013-11-07

动态链接库导出类

动态链接库如何导出类,使有loadlibrary调用

2013-11-07

微软C标准库源码

微软的C++标准库,Vs2010自带的。

2013-10-15

VS2010下编译x86cup

ucosii使用vs2010编译通过修改引导可以,把ucosII移殖到X86上

2013-08-11

ecos源码包

ecos源码包,ecos是一个嵌入式实时操作系统,源码级虽提供实时控制

2013-08-11

VS的运行库

stl的源码在里面可以通过研究了解stl的内部。

2013-08-08

C标准库CMH

C标准库的chm文件头,帮助查询,可以查询C标准库里的函数

2013-08-08

PoDoFo-0.8.4

PoDoFo 32位SDK 可以使用版本,经亲手测试可以实现PDF文件的读写

2013-08-02

利用PDFLib生成PDF文档

利用PDFLib生成PDF文档,生成 PDF 格式文件

2013-07-24

Dll机制的测试

Dll空间和调用它的线程空间,dll中全局变量的导出问题探索,确定dll使用的是相对空间不使用数据段寄存器,dll中运行时使用dll自己的变量,而调用它的线程时,使用的是线程的变量

2013-07-18

空空如也

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

TA关注的人

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