编译器处理while,for结构的小发现
2010-12-23 17:39 by 潇湘隐者, 1395 visits, 网摘, 收藏, 编辑
摘要:在做一个日报自动报表发送项目时,因为项目是Windows服务,而且报表是每天自动发送,所以里面有这么一个函数偶然情况下让我发现了一个让我觉得比较有趣的问题:我用.NET Reflector工具查看项目的exe文件时候,发现里面的这段代码变成了下面的样子代码反编译的IL代码如下:代码看来编译的时候,编译器把while(true)转换成了goto结构,以前见过一片文章介绍goto结构在程序开发中的优劣,高德纳也曾为迪杰斯对goto语句的批评而辩护过,看来在开发过程中适当的、少量的使用goto结构也是有利于提高效率的,要不编译器也不会做这样的处理,接下来我试验了下,对for, while结构中对br 阅读全文