当前位置: 首页 > news >正文

哈尔滨网站制作哪家好通州青岛网站建设

哈尔滨网站制作哪家好,通州青岛网站建设,长宁青岛网站建设,石家庄建设局点击蓝字关注我们有粉丝问了类似这样的问题#xff1a;while(1) 和 for(;;)它们不都是无限循环吗#xff0c;作用应该一样啊#xff0c;它们到底有什么区别#xff1f;要回答这个问题#xff0c;其实你各自编写一段while(1) 和 for(;;)的代码#xff0c;编译对比一下代码… 点击蓝字关注我们有粉丝问了类似这样的问题while(1) 和 for(;;)它们不都是无限循环吗作用应该一样啊它们到底有什么区别要回答这个问题其实你各自编写一段while(1) 和 for(;;)的代码编译对比一下代码大小和汇编文件你就大概知道了。一、while(1)和for(;;)语法表达这里先说一下while(1)和for(;;)语法表达式。1、while语法表达while( 表达式 ) {语句 }其中表达式是循环条件语句为循环体。while语句的语义是计算表达式的值当值为真(非0)时 执行循环体语句。其执行过程可用下图表示2、for语法表达for(表达式1; 表达式2; 表达式3) {语句 }它的执行过程如下先求解表达式1求解表达式2若其值为真非0则执行for语句中指定的内嵌语句然后执行下面第3步若其值为假0则结束循环转到第5步。求解表达式3转回上面第2步继续执行。循环结束执行for语句下面的一个语句。执行过程可用下图表示二、while(1)和for(;;)异同点这里先说一下结论然后再验证验证结论。1、相同点作用和效果都一样都是实现无限循环的功能。2、不同点while(1)其中括号里面是一个条件程序会判断真假。而括号里面的“1”永远是一个“真值”。其中每一次循环编译器都要判断常量1是不是等于零。for(;;)这两个;;空语句编译器一般会优化掉的直接进入死循环。根据上面的描述你可能会觉得while(1) 比 for(;;) 要做更多事汇编代码更多代码量也更大。但事实是这样吗下面验证一下。三、验证while(1)和for(;;)差异我们编写分别两个文件for.c和while.c然后分别生成汇编代码看下情况。1、源代码while.c// filename: while.c int main(int argc, char const *argv[]) { while(1){}return 0; }for.c// filename: for.c int main(int argc, char const *argv[]) { for(;;){}return 0; }2、生成汇编我们这里使用gcc编译器生成汇编执行命令如下gcc -S -o while.s while.c gcc -S -o for.s for.cwhile汇编代码; filename: whiles.file while.c.text.globl main.type main, function main: .LFB0:.cfi_startprocpushq %rbp.cfi_def_cfa_offset 16.cfi_offset 6, -16movq %rsp, %rbp.cfi_def_cfa_register 6movl %edi, -4(%rbp)movq %rsi, -16(%rbp) .L2:jmp .L2.cfi_endproc .LFE0:.size main, .-main.ident GCC: (GNU) 9.3.0.section .note.GNU-stack,,progbitsfor汇编代码; filename: for.s.file for.c.text.globl main.type main, function main: .LFB0:.cfi_startprocpushq %rbp.cfi_def_cfa_offset 16.cfi_offset 6, -16movq %rsp, %rbp.cfi_def_cfa_register 6movl %edi, -4(%rbp)movq %rsi, -16(%rbp) .L2:jmp .L2.cfi_endproc .LFE0:.size main, .-main.ident GCC: (GNU) 9.3.0.section .note.GNU-stack,,progbits你会发现除了文件名不同其余都相同。当然这里额外说一下不同代码、不同编译器以及不同优化等级可能最终结果有所差异。*声明本文于网络整理版权归原作者所有如来源信息有误或侵犯权益请联系我们删除或授权事宜。戳“阅读原文”我们一起进步
http://www.yutouwan.com/news/174030/

相关文章:

  • 建站专业团队一站式服务网络营销的市场背景
  • 做网站的收益来源课程网站开发背景和意义
  • 威海网站建设短信精准群发seo网站推广的主要目的
  • 郴州网站排名优化徐州网站建设解决方案
  • 最新国际军事动态东莞百度快速排名优化
  • 简单的网站设计案例电商erp软件
  • 西安市网站建设公司wordpress安装主题链接路径
  • 网站管理网页制作专业前台
  • 企业网站建设可行性分析任务二手车网站开发多少钱
  • ASP.NET2.0网站开发全程解析马鞍山建设网站
  • 网站被搜索引擎收录类似 wordpress 建站
  • 网站建设与维护是什么意思粉末涂料 技术支持 东莞网站建设
  • 建筑工程网站监理答案网页数据抓取
  • 漳州网站建设技术网站建设公司不赚钱
  • 网站无备案温州在线制作网站
  • wordpress同步发帖谷歌seo搜索优化
  • 平面设计网站排行榜网络管理系统的基本组件包括哪些?
  • 大连网站制作需要多少钱怎样建立自己的网站卖东西
  • 枣庄定制网站建设制作wordpress+左侧菜单
  • 云浮网站建设公司wordpress 360字体插件
  • 备案不关闭网站的方法上海做网站公司做网站的公司
  • 没有公司个人可以做网站卖东西吗h5游戏是什么
  • 微信h5页面制作软件哪个好随州网站优化
  • 景德镇网站网站建设全网分销平台
  • 信誉好的合肥网站推广精仿小米社区wordpress模板
  • 常州网站制作公司有哪些蚌埠集团网站建设
  • 在什么网站可以自承包活来做蒲公英路由做网站
  • 网站都是用什么编写的斯特云流量网站
  • 安溪哪里有学做网站wordpress左侧菜单怎么添加
  • 北京网站建设公司电话网站建设费用 开办费