《面向对象程序设计语言的API访问(共4页).doc》由会员分享,可在线阅读,更多相关《面向对象程序设计语言的API访问(共4页).doc(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上 操作系统 实验报告实验名称:面向对象程序设计语言的API访问班 级:姓 名:学 号:类 型:实验地点:日 期:一、实验目的:1. 理解操作系统接口的概念,理解程序接口和系统调用2. 熟练使用API应用程序接口函数,3. 比较程序接口和系统调用的区别和适用环境4. 了解WINDOWS 的动态链接库和应用程序接口;了解WINDOWS应用程序接口(API)函数的使用过程;掌握在面向对象程序设计语言中利用API访问操作系统的方法。二、实验环境:1. PC机一台(VC、C、VB等编程环境)三、实验内容和要求:1、使用若干个程序接口,实现一定的用户访问要求2、通过系统调用实现:
2、获取本机操作系统版本号3、通过系统调用实现:修改本机“计算机名”4、分析和理解所使用的系统调用以及所涉及的数据结构实验准备:了解什么是动态链接、动态连接库、动态链接的过程、WINDOWS提供的API函数的作用、常用的API函数库有那几个、应用程序接口的使用方法(如如何声明、调用API的方式等)四、实验步骤:理解操作系统接口的概念,理解程序接口和系统调用通过系统调用实现:获取本机操作系统版本号,修改本机“计算机名”#include using namespace std;#include void getversion() OSVERSIONINFO os; os.dwOSVersionInfo
3、Size=sizeof(os); GetVersionEx(&os); if(os.dwMajorVersion=5&os.dwMinorVersion=0) cout n该计算机的操作系统为:Windows 2000 版本号为: os.dwBuildNumber endl; else if(os.dwMajorVersion=5&os.dwMinorVersion=1) cout n该计算机的操作系统为:Windows XP 版本号为: os.dwBuildNumber endl; else cout n该计算机的操作系统为: 其他版本 版本号为: os.dwBuildNumber endl
4、; void getname() const int nBufSize=MAX_COMPUTERNAME_LENGTH+1; TCHAR chBufnBufSize; DWORD dwRet=nBufSize; GetComputerName(chBuf,&dwRet); cout该计算机名称为:chBufendl; void setname() cout输入需要修改的新计算机名,只在重启后生效: chBuf; if(SetComputerName(chBuf) cout n修改成功,重启后生效,如果未生效 检查系统是否有还原保护endl; else cout n修改失败!请检查输入计算机名是
5、否为非法字符。请重新输入新的计算机名:endl; goto newcname; void main() getversion(); getname(); setname(); 专心-专注-专业五、实验结果与分析(含程序、数据记录及分析和实验总结等):应用程序接口(:Application Programming Interface,简称:API),又称为应用编程接口,就是系统不同组成部分衔接的约定。由于近年来软件的规模日益庞大,常常会需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要。程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分。良好的设计可以降低系统各部分的相互
6、依赖,提高组成单元的,降低组成单元间的程度,进而提高系统的维护性和扩展性。API又分为(、等系统的)系统级API,及非操作系统级的自定义API。作为一种有效的代码封装模式,微软的API开发模式已经为许多商业应用开发的公司所借鉴,并开发出某些商业应用系统的API函数予以发布,方便第三方进行功能扩展。如、,以及诺基亚等手机开发的API等等。面向对象语言的API库与框架的API的(SDL)API与协议API与设备接口PC 调用接口 for device interfacingWeb API的API六:思考题:1、 API的作用API是应用程序接口,它是提供给用户用来编程的,它的特点是代码的不可以见行
7、,是操作系统最基本的东西,它构成了系统的内核环境,所以通过API我们可以在系统的最底层进行编程,可以通过它来对计算机硬件操作。2、 修改本机“计算机名”是否成功?如果不成功原因是什么。成功。如果不成功的原因有:l 计算机之间的物理连接不正常。l 所有计算机上都安装的TCP/IP协议不能工作正常,有问题。 l API函数调用的代码有问题3、 获取本机操作系统版本号的系统调用函数有两个,它们的区别是什么?Windows API中有两个函数可以得到系统版本信息:GetVersion和GetVersionExGetVersion这个函数曾经困扰了很多程序员,其本来设计的是在DWORD返回值中用低位的那个字表示MS-DOS的版本号,高位的那个字表示Windows版本号。对于每个字来说,高位字节代表主要版本号,低位字节代表次要版本号。可是因为编写此函数的程序员犯了一个错误,使得此函数返回的Windows版本号颠倒了(即把主要版本号放到了低位字节,而次要版本号放到了高位字节)。当发现此错误的时候已经有很多程序员在使用这个函数了,Microsoft只好将错就错,直接把原来的API文档给改了过来。为了解决GetVersion带来的问题,Microsoft后来开发了一个新的函数GetVersionEx,用它能够得到更详细的Windows系统的版本信息。