gpt4 book ai didi

c# - C# 中的 native 代码?

转载 作者:太空狗 更新时间:2023-10-29 23:40:33 24 4
gpt4 key购买 nike

我在观看去年 10 月的 Microsoft Build 大会时注意到他们宣布,为了构建新的 Metro 风格应用程序,开发人员可以使用 C# 编写 native 代码。这怎么可能?我只是好奇。 C# 不是设计为(作为 CLI 标准的一部分)首先编译为中间字节代码然后在虚拟机上运行吗?运行在虚拟机上的东西怎么能叫“ native 代码”?

最佳答案

一直以来都可以从托管代码调用 native 代码。通常,任何与窗口交互的 .net 应用程序都会在某个时候将控制权移交给 native 组件。

过去,要手动调用 native 代码,我们会使用 PInvoke(平台调用)——它允许托管代码调用在 DLL 中实现的非托管函数。

现在的新功能是 Windows 运行时,基本上是一个增强的基于 COM 的 API。你可以在这里阅读它 - http://en.wikipedia.org/wiki/Windows_Runtime - 它只是让这个过程更容易/更少被偷听。

编辑 - 需要说明的是,演示文稿并不是说 c# 可以编译为 native 代码。这仍然是不可能的。他们吹捧 winrt 提供了一种新的(更干净的)机制,用于在 c# 中包含对 native 代码的调用。

关于c# - C# 中的 native 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11167456/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com