有 Windows 集成的内置 C/C++ 编译器包吗?

Has Windows an integrated built-in C/C++ compiler package?

我希望能够在 Windows 环境下编译 C 和 C++ 代码而不使用 IDE,只需使用 Windows 命令提示符(cmd.exe).

我来自 Linux,您可以在终端中使用一个命令安装 gcc 软件包:

$ sudo apt install gcc

我想知道Windows安装文件夹里面的包里有没有C/C++编译器合集,和Linux里的一样,我只需要安装。

也让我有理由问这个问题的是:

由于Windows和WindowsAPI的内核是用C写的,而实际Windows10版本的很多高级应用都是用 C++ 编写,直接提供合适的编译器套件也是合理的。这是我的思维模型,不需要符合实际。

感谢您的帮助。

奇怪的是它没有附带 C 编译器,如果您想在任何地方使用它,我们需要安装一个 Mingw-w64 is allways my choice, you will need to add the path in environment variables(第 12 步)。然后,您可以在更方便的地方使用 gcc 命令,如 Linux,不要忘记在更改后打开一个新的 cmd 以使它们生效。

不幸的是,Windows 没有用于 installing/removing 内容的命令行工具,也没有我们从 Linux.

了解和喜爱的优秀存储库基础设施

您也可以安装微软编译器。我通常通过安装整个 visual studio.

Since the kernel of Windows and the Windows API are written in C

Microsoft 没有提供编译器,也没有在安装中为 Windows 提供所需的 Windows SDK headers/libs(还包括许多其他有用的开发工具)。 Microsoft Visual C++(Visual Studio 的一部分)将是等效的 "built in" 选择,尽管我不确定 Microsoft 是否曾经明确指定他们为给定的 Windows 构建使用哪个版本并且这很常见有许多使用不同 compilers/versions(包括各种非 Microsoft 软件)构建的软件。

以及带有 IDE 和其他工具的完整 Visual Studio 包。微软单独提供了一些组件,例如Build Tools for Visual Studio 2019

我确信这是出于多种原因,例如大多数用户对编译自己的软件不感兴趣,并且 Microsoft 仍然向大型组织单独销售 Visual Studio(历史上面向最认真的用户,但 "Community" 版本现在对个人和小型企业没有限制)。

你需要两件事:

  • command-line 构建工具。这些可以在 Visual Studio Downloads 页面的 Visual Studio 工具 -> Visual Studio 构建工具下找到.这将包括 MSVC 构建工具链的编译器 (cl.exe) 和链接器 (link.exe)。
  • Windows SDK。目前SDK最新版本可以found here。此页面有移动的趋势,但谷歌搜索 Windows SDK 通常会立即为您提供正确的页面。 SDK 包含构建 Windows 应用程序和使用 Windows 本机 API 所需的所有 headers 和库。 Windows SDK 包含许多您可能需要也可能不需要的东西。您几乎肯定会想要安装 Windows SDK for Desktop C++ x86 AppsWindows SDK for Desktop C++ amd64 Apps 组件。大多数其他内容应该是可选的,但其中一些仍然非常有用。
  • 您可能需要下载其他软件包,例如 Windows Debugger (which is an entirely different application than the Visual Studio debugger) or the Driver SDK,具体取决于您要开发的内容。

请注意,即使您最终不打算使用 IDE,安装 Visual Studio 的完整社区版也是获得工作构建环境的更方便的方法,因此,除非您有充分的理由不这样做,否则请使用完整的包装并选择永远不要打开 IDE.

您可以将 gcc 用于 windows。例如mingwtdm-gccmingw-68Cygwin 等。它们中的每一个都允许您在 c/c++ 上工作。但是如果您不确定安装过程,并且不想自己完成所有工作,最简单的解决方案是下载 dev-c++code-blocks.

之类的东西

cygwin: https://cygwin.com/
mingw-64:http://mingw-w64.org/doku.php
可在此处找到可下载文件(适用于 mingwdev-c++):https://sourceforge.net/

Windows10 上可用的内置编译器适用于 VisualBasic、C#、JScript。 为了提高应用程序的速度和性能,“ngen.exe 创建本机图像,这些文件包含已编译的特定于处理器的机器代码,并将它们安装到本地计算机上的本机图像缓存中。运行 时间可以使用缓存中的本机图像而不是使用即时 (JIT) 编译器来编译原始程序集。

对于低级程序员,ilasm.exe (IL Assembler)附带Windows,这也有助于“工具和编译器”的开发;因此您甚至可以创建自己的语言或为当前语言构建更好的编译器,或者“在低级别调试您的代码并了解 .NET 如何处理您的高级代码”,或者“为新的 .NET 编写您自己的编译器”语言。

对于网络程序员,AspNetCompiler precompiles server-side ASP.NET web-applications, therefore helps application performance because end users do not encounter a delay on the first request to the application

所有编译器和汇编程序都是内置的 Windows 而没有 IDE 并且可以是来自“Windows 命令提示符 (cmd.exe)”的 运行 ,因此无需额外下载;位于文件夹:C:\Windows\Microsoft.NET\Framework\vx.x.xxxxx\ .

注意:C# 基于 JScript。

编译器:

  • vbc.exe
  • csc.exe
  • jsc.exe
  • ilasm.exe
  • ngen.exe
  • aspnet_compiler.exe

附录:

如果您仍在寻找 C 编译器来处理您已经用尽一生的一些 C 源代码,那么(无需下载)您可以用高级语言制作/write a C compiler,然后用低级语言优化它。

This guide 将“向您介绍在 C# 中构建您自己的 .NET 编译器所需的高级体系结构、理论和 .NET Framework API”。