第6章Windows编程.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章Windows编程

第6章Windows编程 6.1 简答题 (1)什么是应用程序接口(API)? API是一些类型、常量和函数的集合,提供了编程中使用的库函数的途径。 (2)什么是静态连接? 连接程序从库文件中抽取需要的子程序插入到最终的可执行代码中,叫做静态连接。 (3)运行Windows应用程序,有时为什么会提示某个DLL文件不存在? Windows程序在运行时需要加载其配套的动态连接库DLL文件,当其没有被搜索到时就会提示不存在。 (4)ADDR与OFFSET有何不同? 都是地址操作符,后接标号或变量名表示它们的地址。但是addr只用在invoke语句中,获取局部变量的地址。 Offset只能获取全局变量的偏移地址。 (5)ExitProcess函数可以按汇编语言习惯全部使用小写字母表示吗? 不能,因为Windows的API函数按照C语言习惯区别大小写字母,是不同的 (6)Win32 API中可以使用哪两种字符集? 8位的ASCII字符集和16位的Unicode字符集 (7)为什么调用API函数之后,ECX等寄存器改变了? 因为API函数并不是按照汇编语言的规则编写的,它的规则是不保护它们 (8)条件控制“.IF”伪指令的条件是在汇编阶段进行判断吗? 不是。条件控制伪指令在会变阶段要转换为一组功能相当等比较、测试喝转移指令,是在执行阶段进行判断的。 (9)为什么32位api函数的地址指针也可以转换为汇编语言的双字类型? 32位api函数的地址指针与汇编语言的双字类型DWORD相对应 (10)在masm32软件包支持下的汇编语言程序中为什么没有看到对windows常量、函数等的定义和声明? 对windows常量、函数等的定义和声明已经包含在windows.inc、kerne;32.inc及user32.inc等文件中。 6.2 判断题 (1)Windows可执行文件中包含动态连接库中的代码。 错,不含,运行时才加载 (2)导入库文件和静态子程序库文件的扩展名都是.lib,所以两者性质相同。 错,导入库中记录的是动态连接库中函数等的名称及存储位置等信息,不含执行代码。 (3)INVOKE语句只能传递主存操作数,不能传递寄存器值。 错,可以使用寄存器参数 (4)Windows控制台是命令行窗口,也就是MS-DOS窗口。 错,Windows控制台与DOS窗口本质不同 (5)与高级语言类似,汇编语言中使用结构变量也需要先说明结构类型 对 (6)proc伪指令可以使用uses操作符,但是proto伪指令不可以使用。 对 (7)在宏定义中,local伪指令声明标识符;而在过程定义中,local伪指令用于分配局部变量。 对 (8)条件汇编IF和条件控制.IF伪指令都包括条件表达式,它们的表达形式一样。 对 (9)条件控制.IF伪指令和循环控制伪指令.WHILE中的条件表达式具有相同的表达形式。 对 (10)masm32软件包只支持32位图形界面应用程序的开发,不支持控制台应用程序的开发。 错。 6.3 填空题 (1)Windows系统有3个最重要的系统动态连接库文件,它们是________、________和________。 KERNEL32.DLL,USER32.DLL,GDI32.DLL (2)进行windows应用程序开发时,需要( )库文件;执行该应用程序时,则需要对应的( )库文件。 导入库,动态链接库 (3)获得句柄函数GetStdHandle执行结束,使用_______提供返回结果。 EAX (4)函数GetStdHandle需要一个参数,对标准输入设备应该填入( )数值,对标准输出设备应该填入 ( )数值,对边准错误输出设备应该填入( )数值 -10,-11,-12 (5)调用ReadConsole函数时,用户在键盘上按下数字8,然后回车,则键盘缓冲区的内容一次是( )。 38h,0dh,0ah (6)WriteConsole和ReadConsole函数的参数类似,都有5个,第1个参数是______,第2个参数是输出或输入缓冲区的______,第3个参数是输出或输入的字符_______,第4个参数指向实际输出或输入字符个数的变量,最后1个参数一般要求代入_____。 句柄实例,地址,个数,0 (7)消息窗口函数MessageBox有4个参数,第1个是0,第2个是要显示字符串的(),第3个是()的地址指针,第4个参数指明窗口形式。注意字符串要使用()作为结尾标志。 地址指针(即首地址),窗口标题,0 (8)要使用获取系统日期时间函数GetLocalTime,需要定义一个()结构变量,其中返回系统时间数值,这些数值采用2进制编码,例如,日期返回的编码是0019h,它表示日期是()。 SYSTEMTILE,25 (

文档评论(0)

shenlan118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档