贡献者: addis
本文介绍如何使用 Linux 命令行用 g++ 编译器编译一个 C++ 的 Hello World 程序。阅读本文不需要任何基础(包括 C++ 和 Linux)。
如何安装 Linux 命令行?你可以直接在电脑上安装一个 Linux 系统1,也可以在 Windows 10 或 11 中使用 WSL。如果使用 Win7 系统,可以安装一个 MinGW。本文以 Ubuntu 系统为例(Linux 有不同的版本,Ubuntu 是广泛使用的一个)。
打开命令行后,要检查是否安装了 g++,输入以下命令并按回车。
g++ --version
这个命令由两部分组成,第一部分是 g++
,即在命令行中运行名为 g++
这个程序。第二部分是 g++ 程序的 --version
选项,即查看已安装 g++ 的版本。如果系统上没有安装 g++,命令行会返回类似这样的提示(以 Ubuntu 为例)
Command 'g++' not found, but can be installed with:
sudo apt install g++
要安装 g++,只需要在 terminal 输入两个命令
sudo apt update
sudo apt install g++
sudo
是 super user do,即使用操作系统的 root 权限运行指定的程序。root 权限是 Linux 系统的最高权限,几乎可以做任何事情(包括危险操作)使用时需要谨慎。命令行中的一些命令(如安装卸载软件)一般需要 root 权限,所以需要在 apt
命令前面加 sudo
。如果你已经以 root 的身份登录 Linux 则可以不用。
apt
(也可以用 apt-get
)是 Ubuntu 系统中用来管理程序的命令(安装,卸载,更新等)。注意系统一般要链接网络才能使用 apt 安装程序。在安装任何程序之前,建议新更新一下 apt 的数据库(第一行)。
update
是 apt
的一个参数(argument),就跟 g++ 的 --version
参数一样。Linux 中程序的许多参数以 --
或者 -
开头。
install
是 apt
程序的另一个参数。g++
是 install
的参数,即要安装的程序。
运行后可以按提示安装 g++,过程中可能需要输入 Linux 的用户密码,以及确认是否安装。输入 Y
然后按回车确认,也可以直接按回车,因为大写的 Y
表示这是默认选项。
After this operation, 155 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
安装完以后,再次查看 g++ --version
,得到
g++ (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
可以看到我们安装的版本是 7.4.0,不同 Ubuntu 版本的默认 g++ 版本不一样。
打开一个文本编辑器,创建一个新文本文档,命名为 hello.cpp,输入如下 C++ 代码并保存。
// print hello world
#include <iostream>
int main()
{
std::cout << "hello world!" << std::endl;
}
在编译之前,我们首先要介绍工作目录(working directory),也叫当前目录(current directory),路径有时候也叫路径。命令行一般会在输入的每一行命令之前显示当前的路径如图 1 。
这个目录一般是打开命令行的目录(例如 Ubuntu 中在某个文件夹中右键打开命令行,或者 win10 中按 Shift + 右键
打开 WSL 的命令行)。另外也可以在命令行中运行 pwd
命令显示当前路径。我们假设刚才创建的 cpp 文件就保存在这个目录下。
现在我们来用 g++ 编译这个程序,命令行输入
g++ hello.cpp
如果编译成功,将会在同一文件夹中生成名为 a.out
可执行文件,相当于 windows 中的 exe 文件。要运行该文件,使用(./
表示当前的 working directory)
./a.out
运行后可以看到程序在命令行输出了 hello world!
。
这样,我们就成功在 Linux 中运行了第一个 C++ 程序。
1. ^ 推荐 Ubuntu,因为小时百科大部分 Linux 相关的教程都是以 Ubuntu 为环境的。