1 / 20
文档名称:

黑客编程语言!(黑客基础).doc

格式:doc   大小:90KB   页数:20页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

黑客编程语言!(黑客基础).doc

上传人:sssmppp 2020/1/1 文件大小:90 KB

下载得到文件列表

黑客编程语言!(黑客基础).doc

文档介绍

文档介绍:黑客编程语言!(黑客基础)从理论上说,任何一门语言都可以在任何一个系统上编程,只要找到该系统提供的“接口”和对系统内部机制有深入的了解就可以了,至少我是这么认为的。正如c语言可以在windows下编程,也同样可以在Linux上大放异彩一样。编程是一项很繁杂的工作,除了应用编程工具Z外,了解系统本身内部工作机理非估重要,这是你写出稳定兼容的程序所必不可少的前提条件。你要在哪一种系统上编程就要对该系统的机制进行研究,至少你应该知道一个程序在那个系统上是如何运行的。一、了解Windows内部机制Windows是一个“基于事件的,消息驱动的”操作系统。在Windows下执行一个程序,只要用户进行了影响窗口的动作(如改变窗口大小或移动、单击鼠标等)该动作就会触发一个相应的“事件”。系统屈次检测到一个事件时,就会给程序发送一个“消息”,从而使程序可以处理该事件。每个WindowshY用程序都是基于事件和消息的,而且包含一个主事件循环,它不停地、反复地检测是否有用户事件发生。每次检测到一个用户事件,程序就对该事件做出响应,处理完再等待下一•个事件的发生。Windows下的应用程序不断地重复这一过程,直至用户终止程序,用代码來描述实际上也就是一个消息处理过程的while循环语句。下面便简单介绍一下与Windows系统密切和关的几个基木概念:1•窗口:这是我耍说的第一个概念。似乎是地球人都知道的事儿了,窗口是Windows木身以及Windows环境f的应川程序的基木界面单位,但是很多人都误以为只有具有标题栏、状态栏、最大化、最小化按钮这样标准的方框才叫窗LL具实窗口的概念很广,例如按钮和对话框等也是窗口哦,只不过是一种特殊的窗口罢了。从用户的角度看,窗口就是显示在屏幕上的一个矩形区域,其外观独立于应用程序,事实上它就是生成该窗口的应用程序与用户间的直观接口;从应用程序的角度看,窗口是受其控制的一部分矩形屏幕区。应用程序生成并控制与窗口有关的一切内容,包括窗口的大小、风格、位置以及窗口内显示的内容等。用户打开一个应用程序后,程序将创建一个窗口,并在那里默默地等待用户的要求。每当用户选择窗口中的选项,程序即对此做岀响应。2•程序:通常说的程序都是指一个能让计算机识别的文件,接触得最多的便是・exe型的可执行文件,这个不难理解。3•进程:说到进程,学过《操作系统》的人都很清处,所谓进程就是应用程序的执行实例(或称一个执行程序)需要注意的是:进程是程序动态的描述,而上面说到的程序是静态的描述,两者有本质的区别。举个例子,从网上DownT一个瑞星杀毒软件到C盘但没冇运行,,它是一个二进制码的文件。一旦双击Texe文件图标运行程序,那个“正在运行着的瑞星杀毒”便称为进程,它在双击的那一刻被系统创建,当你关机或者在任务栏的图标上单击鼠标右键选“退出”时,进程便消亡,彻底结束了生命。进程经历了由“创建”到“消亡”的生命期,而程序自始至终存在于你的硬盘上,不管你的机器是否启动。4•线程:线程是进程屮的-个执行单元,同一个进程中的各个线程对应于一组CPU指令、一组CPU寄存器以及一堆栈。进程本來就具有动态的含义,然而实质上是通过线程來执行体现的,从这个意义上说‘Windows中进程的动态性意义已经不是很明显了,只算是给程序所占的资源划定一个范围而已(个人观点,纯属个人理解,不必引起争议!),真正具有动态性意义的是线程。以前在大二学****操作系统课的时候就有个同学跟笔者提起这点,笔者还跟他驳得而红耳赤呢!现在想想,觉得很有道理,不得不佩服那位同学对Windows内部机制了解得如此清楚。Z所以在此花那么多的篇輪说线程,是因为下而将要介绍到多线程编程技巧,如果不理解这点,那就很难应用到实践上,希望大家明白。5•消息:我们几乎做每一个动作都会产生一•个消息,在用鼠标指点江山的今天,鼠标被移动会产生WM_M0USEM0VE消息,鼠标左键被按下会产生WM_LBUTT0ND0WN的消息,鼠标右键按下便产生WM_RBUTT0ND0WN消息等等。所有的这些都对以通过GetMessage,SendMessage等函数得到,以后的操作屮我们会经常接触到这些函数。6•事件:何谓事件?从它的字而意思我们就可以明白它的含义,如在程序运行的过程中改变窗口的人小或者移动窗口等,都会触发相应的“事件”。:单单一个“柄”字便可以解释它的意思了,我们天气热摇扇子的时候只耍抓住扇柄便对以控制整个扇子的运动了,在程序中也差不多是这个意思。通常一个句柄就可以传递我们所要做的事情。有经验的读者肯定清楚,编写程序总是要和各种句柄打交道的,句柄是系统川來标识不同対象类型的工具,如窗口、菜单等,这些东西在系统中被视为不同类型的对象,用不同的句柄将他们区分开来。看看C++教材中是如何