💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# 【伴随命令】编译、运行你的程序 ## Part1 我们已经写出了自己的第一个 C++ 语言程序,并且送到了系统中进行了编译和运行。在这一节我们将了解一下 C++ 语言的代码在被编写完成后,我们可以如何手动地编译它并且把编译后的可执行程序运行起来。 你看到的这个黑色的框被我们称为 **终端(terminal)**,在你的系统中你也可以找到终端,并且进行使用。 请在终端中输入`ls -l`,并且按回车键确认。 ## Part2 我们会看到,终端中返回了一系列看起来有些复杂的结果,现在我们来一起分析一下这段文字: * 在我们输入命令之前,在第一行的是 **命令提示符(prompt)**`→ ~/project`。我们在它之后输入我们希望执行的命令`ls`。输入完这个命令之后,我们还希望给这条命令加上一个参数`-l`,让它返回关于`ls`的更多信息,于是便在`ls`之后写上`-l`。注意,在`ls`和`-l`之间必须加上空格(可以是一个或若干个)。通常,形如`-l`的参数,即以`-`开头的参数都是命令的配置项,当加上不同的配置项时,往往会得到不同的结果。 * 之后的行是命令运行的结果。大多数命令会产生运行结果,并将结果依次展示在终端里,紧接着你所输入的命令的下方。当然,也有一些命令不会输出任何内容,只有遇到一些异常情况或程序非正常退出时才会输出一些信息。 * 命令运行结果之后依然是命令提示符,当程序运行完成后,你就可以在命令提示符后面向终端继续发出其他命令了。有些时候,当你运行程序时自认为程序已经完成了,但却没有出现命令提示符,不要急,这说明程序实际上还没有运行完成哦。 `ls`的命令是用于列出当前我们所在的某一个计算机存储位置中所有的 **文件(file)** 和 **目录(directory)** 的。我们通过`ls`看到现在我们所在的位置有一个文件`main.cpp`。 使用 Windows 的同学可以自行搜索下 cmd 下的`dir`命令使用方法——它的功能与 Unix 的`ls`命令是一样的。 接下来,让我们试试之前学习过的`g++`编译程序的方法。请输入: ~~~ g++ -o program main.cpp ~~~ 并按回车键确认。 ## Part3 这次是不是什么都没输出?没错,我们这个编译命令就是一个不会输出任何内容的命令。 `g++`是这个编译命令的名称,通过这个命令,我们告诉一个叫`g++`的编译器,将`main.cpp`的代码文件编译成一个名叫`program`的可执行文件(用`-o program`进行说明)。 接下来,我们再次输入`ls -l`看看我们所在的位置现在都有什么文件。 ## Part4 现在是不是除了`main.cpp`之外又多了一个`program`文件呢?接下来,让我们运行一下编译后生成的可执行程序文件`program`。 请输入`./program`对程序进行运行。这里我们在程序名前加的`./`表示当前所在位置的目录,之后如果你希望自己运行自己编译的程序,也需要这么做噢。 ## Part5 我们的程序是不是和之前一样成功地输出了一行`Hello World`了呢? 之后很长一段时间,我们都将暂时忽略编译过程。在学习 C++ 语言的过程中,编译和运行程序的过程都会被系统自动完成,而你在自己的环境进行学习时,则需要使用上面说到的方式进行编译和运行(或使用 IDE 中的编译、运行功能)。