我从去年10月开始观看微软构建会议,我注意到他们宣布要构建新的Metro风格应用程序,开发人员可以用C#编写本机代码.这怎么可能?我只是好奇.是不是将C#设计(作为CLI标准的一部分)首先编译为中间字节代码然后在虚拟机上运行?如何在虚拟机上运行的东西称为“本机代码”?
解决方法
始终可以从托管代码调用本机代码.通常,在某些时候与窗口交互的任何.net应用程序都将控制权移交给本机组件.
从历史上看,要手动调用本机代码,我们将使用PInvoke(平台调用) – 它允许托管代码调用DLL中实现的非托管函数.
现在最新的是Windows Runtime,基本上是一个增强的基于COM的API.你可以在这里阅读它 – http://en.wikipedia.org/wiki/Windows_Runtime – 它只是让这个过程更容易/更少听到.
编辑 – 很明显,演示文稿不是c#可以编译为本机代码.这仍然是不可能的.他们正在宣传winrt,因为它提供了一种新的(更清洁)机制,用于在c#中包含对本机代码的调用.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。