华北电力大学科技学院WINDOWS体系编程作业图文.docx
- 文档编号:25238198
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:12
- 大小:231.04KB
华北电力大学科技学院WINDOWS体系编程作业图文.docx
《华北电力大学科技学院WINDOWS体系编程作业图文.docx》由会员分享,可在线阅读,更多相关《华北电力大学科技学院WINDOWS体系编程作业图文.docx(12页珍藏版)》请在冰豆网上搜索。
华北电力大学科技学院WINDOWS体系编程作业图文
Windows体系及编程
结课作业|
|
|
|
专业班级:
学生姓名:
学号:
成绩:
指导教师:
王新颖提交日期:
2014/6/8
第页共页
(结课作业如打印,纸张用A4,左装订;页边距:
上下2.5cm,左2.9cm,右2.1cm;字体:
宋体小四号,1.25倍行距。
思考题:
一、讨论编程语言工具的选择(例如Java、Delphi、C++Bulider、VC、VB、C#、PHP、Perl、Python、Ruby、JavaScript、JScript、VBScript、PowerBuilder、MatLab等等
二、多线程同步和互斥有何异同,分别有几种实现方法,都是什么?
每种方法的优点和不足是什么?
三、比较Windows的GDI、GDI+和WPF等图形子系统。
四、探讨MFC框架,.NET框架和Win32/64API的内容、特点、发展和比较。
五、DLL注入和API拦截的方法有几种,都是什么?
六、Windows编程实践、体会及课程学习建议。
请回答上述思考题,要求内容较为详实,有独立的见解。
第页共页
思考题解答:
一、讨论编程语言工具的选择(例如Java、Delphi、C++Bulider、VC、VB、C#、PHP、Perl、Python、Ruby、JavaScript、JScript、VBScript、PowerBuilder、MatLab等等Java:
分为JavaSE(标准版,面向初学者与桌面开发、JavaEE(企业版,也称J2EE,面向企业级开发、网络开发,包括了为人熟知的JSP,并包含了JavaSE的所有内容、JavaME(微型版,为手机、PDF、机顶盒、消费家电等嵌入设备开发,目前还有正在发展的JavaFX(一种富Internet应用程序开发的脚本语言。
Java的运行环境是JRE,开发环境是JDK均可以在其官方站点下载。
开发平台的构建较为简单,开发者下载并安装JDK即可。
而Java不需要指定集成开发环境(IDEJDK和记事本足以完成。
推荐使用Notepad++或UltraEdit作为代码文本编辑器;Eclipse与NetBeans这两款免费而又强大成熟的Java集成开发环境(IDE。
C++:
改进自C语言,特别是面向对象方面的扩展,。
如在Windows平台下,C++首选的集成开发环境(IDE自然是VisualC++,它包含在MicrosoftVisualStudio之中。
C#:
好似C++、Java、Delphi与VisualBasic的结合体,它更像Java完全面向对象,开发与运行都在.NETFramework环境中。
使用微软的VisualStudio集成开发环境,C#编译后的程序如Java一样是中间语言,运行程序的计算机需要安装.NETFramework运行环境,不算大也不算小。
同时C#也可以开发ASP.NET的动态网页程序,开发C#程序,使用微软的VisualStudio是最好的。
Ruby:
较Python来说更新兴的面向对象脚本语言,实质上它与Python是同类,具有共同的一些特性、脚本语言、面向对象、免费开源、简洁强大、跨平台性。
python:
新兴的面向对象脚本语言,语言特点是语法清晰简洁,便于学习使用。
跨平台性非常好,几乎在所有操作系统中可以使用。
可以进行桌面程序开发、动态网页开发、数据运算等。
有很多种实现,最流行的是用C语言开发的,还有一种是Java开发的,Jython。
还有一种是运行在.net的环境中的,IronPython。
还有就是python自己开发出的python,叫做pypy,引入了JIT技术,是目前速度最快的python实现。
经典的开发软件:
编码用vim,编译用gcc,调试用gdb,构建项目用make。
PHP:
目前最流行、强大、稳健的动态网页开发脚本语言。
语言风格类似C、Perl,可以集成在HTML网页代码只中,也遵循面向对象。
还可以开发桌面应用程序。
若开发PHP的Web程序需要搭建环境需要同时安装一个HTTP服务器与PHP解析程序,大多情况下还要一个数据库服务器例如MySQL、PostgreSQL。
目前最流行的开发环境组合就是Linux+ApacheHTTPServer+MySQL+PHP,简称为LAMP,Linux操作系统大多均带有了这些程序。
而如果在Windows环境下,可以选择自行搭建各种匹配的环境,甚至让IIS作为PHP的Web服务器。
或是想图省事,可以下载安装一个XAMMP,PHP环境搭建一步到位。
Pascal:
曾经风靡全球的高级程序设计语言,特点是语言简明、结构严谨、较高灵活性,
第页共页
第页共页
第页共页
第页共页
第页共页
GDI+允许用户创建一个沿路径或直线渐变的画刷,来填充外形(shapes,路径(paths,区形(shapes时,颜色就能够沿外形逐渐变化。
2.基数样条函数
GDI+支持基数样条函数,而GDI不支持。
成的一条较大曲线。
样条由一系列点指定,并通过每一个指定的点。
由于基数样条平滑地穿过组中的每一个点(不出现尖角,因而它比用直线连接创建的路径更精确。
3.持久路径对象
在GDI中,路径属于设备描述表(DC,画完后路径就会被破坏。
在GDI+中,绘图工作由Graphics对象来完成,你可以创建几个与Graphics分开的路径对象,绘图操作时路径对象不被破环,这样你就可以多次使用同一个路径对象画路径了。
4.变形矩阵对象
有一个Transform方法,它的一个参数能够接受矩阵对象的地址,每次路径绘制时,它能够根据变换矩阵绘制。
下面的图形是一个图形变换前后的例子,变换按照先缩放后旋转完成。
5.可伸缩区域
GDI+在区域(regions方面对GDI进行了改进,在GDI中,Regions
对Regions唯一可进行图形变换的操作就是对区域进行平移。
而GDI+用世界坐标存储区域(Regions,允许对区域进行任何图形变换(譬如如图所示的缩放,图形变换以变换矩阵存储,下面例子是一个区域变换前后的例子(缩放、旋转、平移
6.混合
第页共页
第页共页
第页共页
会有任何的窗口闪烁问题。
这种新的显式提交引擎与传统的Win32、WindowsForms相比主要有两个优点:
1、所有的每个窗口元素都可以任意的交替重叠。
2、所有的合成操作都是Direct3D中的离屏表面(Off-screenSurface中实现的。
在这种新的方式中,元素的背景变得不再是必须的。
比如,我们希望在窗口中显式一个文字字符串,通常,在Win32或者WindowsForms中显式的效果如同一个静态文本标签一样:
它具有系统默认的控件背景色。
而在WPF中,文本字符串会直接画到目标位置,而不管目标区域的背景颜色。
在WindowsVista中,GDI和GDI+仍然支持,但是基本上没有任何功能性的改进。
对GDI和GDI+的改进主要集中在安全性和客户相关问题上。
在WindowsVista中,GDI、GDI+和WPF并行存在,WPF的所有提交都不依赖于GDI和GDI+,而是Direct3D。
并且所有的Primitive都是通过Direct3D的本地接口实现的。
WPF系统中Milcore组件,它以非托管代码的形式封装了与Direct3D交互的所有功能。
由于WPF的大部分代码都是以托管代码的形式存在的,所以WPF中有很多托管、非托管的交互。
当然,在一些图形卡不支持WPF所需要的功能时,WPF也提供了稍微低效的软件实现来支持在某些PC上运行WPF应用程序。
在WPF的实现中,每个画图对象都对应于一个离屏表面。
显式窗口时不是直接地在屏幕显式区域进行的,而是利用显式卡提供的额外的离屏表面内存中。
当画图操作在离屏表面中完成了之后,合成提交引擎再把每个需要显式离屏表面合成为一个单独的可显式表面。
这种显式方式不再需要我们用传统的双缓冲绘图来避免窗口闪烁,这项功能已经有WPF默认实现了。
同时,离屏表面的使用也可以更加方便的利用显式卡GPU(图形处理单元,GraphicsProcessingUnit来实现放索、旋转、变换等等。
这也就意味着这些普通的3D功能也能很方便的在WPF中实现了。
关于离屏表面需要注意一点:
不要错误的理解为WPF一定需要使用现代的图形显式卡(具有丰富功能的3D显式卡。
的确,在将来实现真正的3D用户界面是可能的。
但是,WPF做了很大的努力来充分的利用GPU,把3D的元素抽象、封装后,让人们用类似2D的编程来实现3D的功能。
当前版本的WPF中,对一些Win32功能还没有很好的支持,比如WMF/EMF文件,单个象素宽度的线条等等。
对于这些需求还需要使用GDI/GDI+来实现。
四:
探讨MFC框架,.NET框架和Win32/64API的内容、特点、发展和比较。
第页共页
MFC框架:
发展:
MFC的英文全称是MicrosoftFoundationClass,即微软的基本类库,MFC的本质就是一个包含了很多微软公司已经定义好的对象的类库,自1993年美国微软公司推出Visualc++1.0后便配套推出了微软基础类库MFC1.0(MicrosoftFoundationClassMFC1.0第一个拉开了以面向对象的程序设计方法编制多任务、多进程的GUI应用软件系统的序幕。
微软公司在16位平台上几乎没有停留多久,便陆续推出MFC1.5,MFC2.0(含支持32位的Win32,MFC3.0,MFC4.0.1997年5月随着VisualC++5.0的问世,人们看到了支持Web应用和MFC6.0基础类库系统。
内容:
MFC(MicrosoftFoundationClasses是微软基础类库的简称,是微软公司实现的一个c++类库,主要封装了大部分的windowsAPI函数,vc++是微软公司开发的c/c++的集成开发环境,所谓集成开发环境,就是说利用它你可以编辑,编译,调试,而不是使用多种工具轮换操作,灵活性较大。
有时人们说vc呢也指它的内部编译器,集成开发环境必须有一个编译器内核,要不有什么用,例如DevC++其中一个编译器内核就是gcc。
MFC除了是一个类库以外,还是一个框架,你应该试过,在vc++里新建一个MFC的工程,开发环境会自动帮你产生许多文件,同时它使用了mfcxx.dll。
xx是版本,它封装了mfc内核,所以你在你的代码看不到原本的SDK编程中的消息循环等等东西,因为MFC框架帮你封装好了,这样你就可以专心的考虑你程序的逻辑,而不是这些每次编程都要重复的东西,但是由于是通用框架,没有最好的针对性,当然也就丧失了一些灵活性和效率但是MFC的封装很浅,所以效率上损失不大,灵活性还可以,虽然也有很多缺陷,但还是一个比较好的东西。
特点:
MFC的特点:
1.提供了大量的基类供程序员根据不同的应用环境进行扩充;2.较好的移植性,可移植于众多的平台;3.MFC还可以很好的保持了程序的向下兼容性。
4.允许在编程过程中自定义和扩展应用程序的类。
.NET框架:
第页共页
发展:
.NET框架(.NETFramework是由微软开发,一个致力于敏捷软件开发(Agilesoftwaredevelopment、快速应用开发(Rapidapplicationdevelopment、平台无关性和网络透明化的软件开发平台。
.NET是微软为下一个十年对服务器和桌面型软件工程迈出的第一步。
.NET包含许多有助于互联网和内部网应用迅捷开发的技术。
版本由.NET1.0(这是最初的.NET构架,发行于2002年。
它可以以一个独立且可重VisualStudio.NET的发行版的一部分。
到.NET4.5(NET框架4.5,修复了工作可靠性,兼容性,稳定性和性能方面的问题,同时,公共语言运行时的WindowsPresentationFoundation,Windows窗体,XML,网络类库,ASP,实体框架,Windows工作流基金会的WindowsCommunicationFoundation。
内容:
.NET框架是一个多语言组件开发和执行环境,它提供了一个跨语言的统一编程环境。
.NET框架的目的是便于开发人员更容易地建立Web应用程序和Web服务,使得Internet上的各应用程序之间,可以使用Web服务进行沟通。
从层次结构来看,.NET框架又包括三个主要组成部分:
公共语言运行时(CLR:
CommonLanguageRuntime、服务框架(ServicesFramework和上层的两类应用模板——传统的Windows应用程序模板(WinForms和基于ASPNET的面向Web的网络应用程序模板(WebForms和WebServices。
特点:
.NET框架平台给网站提供了全方位的支持,比如:
强大的类库,多方面服务的支持,允许利用多种语言对应用进行开发,跨平台的能力,允许的安全保障能力。
在这个环境下,用户能够在任何时间地点使用任何设备从Internet网中获得所需要的信息。
Win32/64API:
API(ApplicationProgrammingInterface,应用程序编程接口是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
其实就是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的API而使操作系统去执行应用程序的命令(动作。
API函数包含在Windows系统目录下动态链接库文件中。
WindowsAPI是一套用来控制Windows的各个部件的外观和行为的预先定义的Windows函数。
用户的每个动作都会引发一个或几个函数的运行以告诉Windows发生了什么。
这在某种程度上很像Windows的天然代码。
而其他的语言只是提供一种能自动而且更容易的访问API的方法。
当你点击窗体上
第页共页
第页共页
第页共页
Windows体系编程结课作业第页共页
Windows体系编程结课作业第页共页
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 华北 电力大学 科技学院 WINDOWS 体系 编程 作业 图文
![提示](https://static.bdocx.com/images/bang_tan.gif)