.net - Visual Studio 和 .NET 编程

标签 .net visual-studio command-line-interface

我只是想问一下我对.NET的看法是否正确。因此,.NET 是一个新的框架,使您能够轻松实现新旧 Windows 功能。它与java类似,也被编译成“字节码”,但它的名字是公共(public)语言基础设施,或者CLI。该语言由.NET Framework解释,因此使用.NET编程生成的代码不能直接由CPU执行。现在,很少有语言可以编译为 CLI。首先,它是微软开发的C#,而不是J#、C++其他的。我怀疑这大体上是正确的,至少我希望我理解它是正确的。

但是,我仍然缺少的是,你能用 C# 编写机器代码编译代码吗?而且,如果使用 Visual Studio 2005,当我选择 Win32 项目时,它会被编译为机器代码,因此运行此应用程序所需的只是 Windows 动态链接库,因为静态库代码在链接阶段已实现到应用程序中。这些动态链接库在每个 Windows 安装中实现,或者由 DirectX 安装提供。

但是当我在 Visual Studio 2005 中选择 CLR 时,应用程序被编译为 CLI 代码,并且它首先执行 .NET 框架,然后 .NET 框架执行该程序,因为它不是机器代码。

那么,我是对的吗?我问是因为你可以在互联网上阅读这些信息,但我没有人告诉我我理解是否正确。谢谢。

最佳答案

  • CLI 不由 .NET 框架解释,但通常会编译。纯粹的解释太慢了。
  • C#、J#等同时出现。事实上,J# 起源于 Microsoft J++……所以可以说它出现得更早。 C++ 之前也存在,您可能指的是托管 C++(现在:C++/CLI)。我认为这是同时完成的——并行的。有超过 2-3 个人在 microosft 工作;)
  • 您无法将 C# 编写为机器代码。 win32 项目是 native C++(即不使用 .NET 运行时的版本)。

关于.net - Visual Studio 和 .NET 编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2453386/

相关文章:

c# - C# 中的引用类型如何分配内存?

c# - 如何设置 System.Net.Mail.MailMessage 的附件文件编码?

javascript - 在没有node.js的情况下从命令行运行JS

ruby - 如何使用 rspec 测试 CLI 的标准输入

c# - 无法使用 C# 和 SSH.NET 从 Windows 运行 Unix 服务器中的用户脚本

c# - 如何在 checkedListBox C# 中跟踪支票?

c# - 项目资源变量不改变值

sql-server - Visual Studio 2015 中的 Localdb 错误 52 (SQL Server)

git - Visual Studio Online Git - 如何确保/包被忽略?

没有 root 访问权限的 mysql 工作台