浅谈 Microsoft C# 编译器和 Mono C# 编译器
2009-05-09 08:26:41 来源:WEB开发网核心提示: 但是,如果用 mono C# 编译器编译就可以顺利通过,浅谈 Microsoft C# 编译器和 Mono C# 编译器(6),实际上,即便加上这个“ : this() ” ,而 Microsoft C# 编译器生成的代码有很多不必要的垃圾,以上观点如有不妥之处,m
但是,如果用 mono C# 编译器编译就可以顺利通过。实际上,即便加上这个“ : this() ” ,mono C# 编译器也完全无视它,也就是说,即使在有“ : this() ” 的情况下,mono C# 编译器也不会生成调用 Block 结构的默认构造函数的 IL 代码,它直接忽略了这个“ : this() ”。而且,这样做也没有造成什么不良后果,block.mono.exe 在 Windows 和 Linux 操作系统下都运行良好。
最后,block.cs、block.windows.exe 和 block.mono.exe 这三个文件可以在这里下载。
实际上,之所以会写这篇文章,是因为我在做“Timus 1037. Memory management”这道 ACM 题的时候,是在 Ubuntu 9.04 Linux 下使用 MonoDevelop 2.0 写程序的,如下所示:
图片看不清楚?请点击这里查看原图(大图)。
从上图中可以看出,在 Block 结构的构造函数中没有“ : this() ” ,这在 Linux 下运行得很好。但是,提交到 ACM 网站后,由于该网站是使用 Microsoft Visual C# 2008 версии 3.5.30729.1 编译器,导致编译出错。
这就引起了我比较 Microsoft C# 编译器和 mono C# 编译器的兴趣,于是就产生了这篇文章。
总结一下,我认为目前的 mono C# 编译器生成的代码比较高效,而 Microsoft C# 编译器生成的代码有很多不必要的垃圾。
以上观点如有不妥之处,欢迎各位大侠指正。
- ››Microsoft Outlook 2010 邮箱客户端中常用邮件设置...
- ››Microsoft Office2007Open XML 格式的术语表
- ››Microsoft PowerPoint 2010介绍
- ››Microsoft ReportViewer(微软报表)项目中的应用...
- ››MonoDevelop 让Mac OSx/ Linux ...下写C#更轻松
- ››Microsoft APP-V 4.5使用经验之序列化工具
- ››Microsoft Access 2010的十大优势详解
- ››Microsoft数据访问技术简介
- ››Microsoft My Phone for Windows Mobile 6+ 新版发...
- ››MonoTouch 可将 Xbox 游戏移植 iPhone
- ››Microsoft Security Essentials 1.0.1959.0
- ››Microsoft Office Access 2007年中选项组控件中您...
更多精彩
赞助商链接