如何合理设置C语言变量.pdfVIP

  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文档。上传文档
查看更多
中,而非堆栈段。在这个语句中,用了地址 0lA6和0IA7来存放 1。地址01A6和0lAY 就是变量a的存储空间。若源程序: inta; main(){} 则变量a也存在于内存数据段中。 C语言变量 例6:对子函数中带有一个static型变 量的程序进行分析。 曹党生 太原理工大学 voidf(){staticinta;a-l;} voidmain(){f();} 从而腾出si的空间,让si暂时作为变量a的 对其产生的应用程序反汇编后,可以 通过把 C语言程序转换成汇编语言,并分析 存储空间; j找到调用子函数f()的5行汇编代码: 相应的汇编语 句,直观地获知 了变量的5种 (2)语句movsi,0001完成赋值a 1。 push bp 存储类型的表现形式 ;并探讨 了如何设置变 由于直接使用CPU中的寄存器si代表 mov bp,sp 量的存储类型和数据类型才能得到更优化的 变量a,而不是使用内存空间代表变量a,从 movwordptr0【1A6】,0001 程 爵 而使 CPU对变量a的操作速度远远超过 内 pop bp 存变量的操作速度 。 , ret 变量 ;存储 类型 ;数据类型 例 3:对带有4个register变量的程序 可以看出:调用了函数f()后,通过传 进行分析。 送语句movwordptr 0【1A6】,0001完成 main(){registerinta-1,b=2,c 3, a l的赋值。但在子程序返回 (语句ret表 由于C语言通过编译,转换成机器语 d 4; 示子程序返回)时,地址01A6和01A7并 占后,才能被 CPU执行,所以要掌握好C 对其产生的应用程序反fL编后,可以 没有释放,说明静态变量的生命周期与整 语言,就需要了解 C语言的语句转变成机 找到如下7行有关变量a、b、C、d的汇编 个程序的生命周期相同。 器语言之后的情况。下面通过对变量的存 代码 :

文档评论(0)

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

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

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档