gpt4 book ai didi

c# - "managed"代码到底是什么?

转载 作者:IT王子 更新时间:2023-10-29 03:48:28 25 4
gpt4 key购买 nike

我编写 C/C++ 代码已经将近 20 年了,我知道 Perl、Python、PHP 和一些 Java,而且我正在自学 JavaScript。但我从未做过任何 .NET、VB 或 C# 的东西。 托管代码到底是什么意思?

维基百科 describes it就像

Code that executes under the management of a virtual machine

它特别指出 Java(通常)是托管代码,所以

  • 为什么该术语似乎只适用于 C#/.NET?
  • 您能否将 C# 编译成也包含 VM 的 .exe,还是必须将其打包并提供给另一个 .exe(一种 java)?

同理,

  • .NET 是语言还是框架,这里的“框架”到底是什么意思?

好吧,这不仅仅是一个问题,但对于像我这样从事该行业的人来说,我现在感觉相当 N00B-ish...

最佳答案

当您将 C# 代码编译为 .exe 时,它​​会被编译为通用中间语言 (CIL) 字节码。每当您运行 CIL 可执行文件时,它都会在 Microsoft 的公共(public)语言运行时 (CLR) 虚拟机上执行。所以不,不可能将 VM 包含在您的 .NET 可执行文件中。您必须在将要运行您的程序的任何客户端计算机上安装 .NET 运行时。

要回答您的第二个问题,.NET 是一个框架,因为它是一组非特定语言的库、编译器和 VM。因此,您可以使用 C#、VB、C++ 和任何其他具有 .NET 编译器的语言在 .NET 框架上进行编码。

https://bitbucket.org/brianritchie/wiki/wiki/.NET%20Languages

上面的页面列出了具有 .NET 版本的语言,以及指向它们页面的链接。

关于c# - "managed"代码到底是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57923/

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