.net – IS C转换成MSIL?
我已经很久以来C#和.Net开发人员,一直在玩c的想法.
我一直在考虑的一个主要原因是,C可以超过使用.Net框架的应用程序.但是,如果我在Visual Studio中编写一个C应用程序,和/或在C应用程序中引用.Net库,那么C是在MSIL中转换的(就像C#)一样,我是否正确地假设,我会放弃任何好处从编码呢? 所以我的问题是这样的:应用程序的C组件是否以“传统”的方式编译.Net程序集,或者被编入MSIL? 解决方法
那比这更复杂一些.
实际上有两个完全不同版本的.NET支持C. 旧的,C的托管扩展是Visual C 2002/2003中唯一可用的选项.它可用于较新的编译器,选项为/ clr:oldSyntax.它有点笨拙,因为它很难与标准C集成,所以所有新的关键字(还有很多)都带有双重下划线等.这个编译器生成的代码是本机和MSIL代码的混合,被称为IJW“只是工作“. 新的C/C++LI,是Visual C 2005和更新的一种干净的新语言.最重要的是,它支持几种代码生成模式. 有关MC和C/C++LI的区别,请参见wikipedia. 有关编译器开关的说明,请参见MSDN. PS. .NET字节代码称为MSIL(Microsoft Intermediate Language)或CIL(Common Intermediate Language). MIL可以支持媒体集成层,即WPF和Vista Desktop Window Manager使用的未记录的低级库. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |