freeCodeCamp/guide/chinese/cplusplus/compilers/index.md

55 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: C++ Compilers
localeTitle: C ++编译器
---
# C ++编译器简介
为了开始使用C ++您需要了解一些编译器以及C ++如何在您的计算机上运行。
完成所有工作后,计算机只能理解一种语言,机器语言。机器语言完全由 二进制位或0和1。虽然可以用二进制编程但这将是非常繁琐和耗时的。 因此我们人类开发了编程语言以便更容易地开发软件。汇编语言是机器的直接1对1 语言。 CC ++和COBOL等语言略高需要编译。它甚至更高。语言 像JavaScript和Python一样组件在编译之前会被翻译成C ++或其他低级语言, 有效地使它们成为比C或C ++更“高”的语言。 因为计算机体系结构由电子开关和电缆组成只能使用二进制1和0 您需要一个编译器将您的代码从高级C ++转换为CPU可以理解的机器语言。
编译器是实用程序,它将您的代码转换为可执行的机器代码文件。运行编译器时 在您的代码上首先预处理器读取源代码您刚刚编写的C ++文件)。预处理器搜索任何 预处理程序指令(以#开头的代码行)。预处理程序指令导致 预处理器以某种方式更改代码通常添加一些库或另一个C ++文件)。 接下来,编译器逐行处理预处理代码 每行进入相应的机器语言指令。这也将揭示您的任何语法错误 源代码并将向命令行抛出错误。最后,如果没有错误,编译器会创建一个对象 具有在您的机器上运行所必需的机器语言二进制文件。而编译器刚刚创建的目标文件 可能足以在您的计算机上执行某些操作它仍然不是您的C ++程序的可执行文件。有一个决赛 达到可执行程序的重要一步。
C ++包含一个庞大的库可以帮助执行I / O和硬件操作等困难任务。你可以包括这些 具有预处理程序指令的库,但预处理程序不会自动将它们添加到您的代码中。为了你有 最终的可执行程序,另一个称为链接器的实用程序必须将目标文件与库函数组合在一起 运行代码所必需的。把它想象成拥有所有必要的块 盖房子。编译器创建了所有块,但链接器是将它们全部组合在一起以最终创建一个房屋的链接器。 完成后,您现在拥有一个正常运行的可执行文件!
## 如何编译文件
假设您有一个名为`helloWorld.cpp`的C ++文件...
### 如果你在Windows上 -
#### 使用和CodeBlocks一样的IDE
它就像单击构建和运行按钮一样简单,它们将在项目文件夹中创建一个文件。 ![IMG](https://i.imgur.com/FwZuFGy.png)
#### 使用命令提示符
1. 打开开发人员命令提示符 - 对于此步骤您需要安装Microsoft Visual Studio或其他IDE 使您能够从命令行编译您的程序。您还可以在线搜索C ++编译器。
2. 直接导航到源代码
3. 在源代码上运行编译器假设您使用的是Microsoft Visual Studio编译器 `cl /EHsc helloWorld.cpp`
现在,这将创建一个目标文件并自动为您链接。如果你查看同一个文件夹,你会看到一个 hellWorld.exe可执行文件注意exe扩展名现在存在。
4. 在提示符下键入`helloWorld`以运行可执行文件
或者许多IDE允许快速构建和查看您的程序。这可能比你的版本更容易 Windows可能不会预先与编译器实用程序打包在一起。
### 如果您使用的是Linux或OSX -
1. 打开终端窗口并导航到源代码目录
2. 在源代码上运行编译器 `g++ helloWorld.cpp -o helloWorld`
这将创建一个目标文件并自动为您链接。查看该文件夹您将看到一个helloWorld.exe 可执行文件注意exe扩展名
3. 在终端窗口中键入`./helloWorld`以运行可执行文件
g ++是标准的Linux编译器是一个很棒的实用程序。它随操作系统一起提供。
注意: 直接编译和执行代码,运行 `g++ -o helloWorld helloWorld.cpp; ./helloWorld` 所以当你需要多次编译和运行你的代码时, 向上箭头输入
* * *
有许多不同类型的编译器。列出的两个是通常与Windows一起打包的两个 或Linux / OSX。