图

在 Linux 上编译 C/C++ 程序

   本文介绍如何使用 Linux 控制行用 g++ 编译器编译一个 C++ 的 hello world 程序. 阅读本文不需要任何基础(包括 C++ 和 Linux).

   如何安装 Linux 控制行? 你可以直接在电脑上安装一个 Linux 系统, 也可以在 Win10 下使用 WSL(已经安装 win10 系统的话建议使用后者), 如果是 win7 系统, 可以安装一个 MinGW. 安装方法请自行搜索. 本文以 Ubuntu 系统为例(Linux 有不同的版本, Ubuntu 是广泛使用的一个).

在控制行安装 g++

   打开控制行后, 要检查是否安装了 g++, 输入以下命令并按回车.

1
g++ --version
这个命令由两部分组成, 第一部分是 g++, 即在控制行中调用 g++ 这个程序. 第二部分是 g++ 程序的 --version 选项, 即查看已安装 g++ 的版本. 如果系统上没有安装 g++, 控制行(Terminal)会返回类似这样的提示
1
2
Command 'g++' not found, but can be installed with:
sudo apt install g++
要安装 g++, 只需要在 terminal 输入两个命令
1
2
sudo apt update
sudo apt install g++
sudo 是 super user do, 即获取操作系统的 root 权限, root 权限是 Linux 系统的最高权限. 控制行中的一些命令(如安装卸载软件)一般需要 root 权限, 所以需要在前面加 sudo (如果你已经以 root 的身份登录 Linux 则不需要).

   apt (也可以用 apt-get) 是 Ubuntu 系统中用来管理程序的命令(安装,卸载,更新等). 注意系统一般要链接网络才能使用 apt 安装程序. 在安装任何程序之前, 建议新更新一下 apt 的数据库(第一行).

   updateapt 的一个参数(argument), 就跟 g++ 的 --version 参数一样. Linux 中程序的许多参数以 -- 或者 - 开头.

   installapt 程序的另一个参数. g++install 的参数, 即要安装的软件名.

   运行后可以按提示安装 g++, 过程中可能需要输入 Linux 的用户密码, 以及确认是否安装(输入 Y 然后按回车)

1
2
After this operation, 155 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y

   安装完以后, 再次查看 g++ 的 version, 得到

1
2
3
4
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.

创建第一个 C++ 程序

   打开一个文本编辑器, 创建一个新文本文档, 命名为 hello.cpp, 输入如下 C++ 代码并保存.

1
2
3
4
5
6
7
// print hello world
#include 

int main()
{
    std::cout << "hello world!" << std::endl;
}
在编译之前, 我们首先要介绍 working directory. 控制行一般会在输入的每一行命令之前显示当前的路径(directory)如图 1

图
图1:蓝色的路径就是当前路径

   这个目录一般是打开控制行的目录(例如 Ubuntu 中在某个文件夹中右键打开控制行, 或者 win10 中按 shift + 右键). 我们假设刚才创建的 cpp 文件就保存在这个目录下.

   现在我们来用 g++ 编译这个程序, 控制行输入

1
g++ hello.cpp
如果编译成功, 将会在同一文件夹中生成 a.out 可执行文件, 相当于 windows 中的 exe 文件. 要运行该文件, 使用(./ 表示当前的 working directory)
1
./a.out
运行后可以看到程序在控制行输出了 hello world!

   这样, 我们就成功在 Linux 中运行了第一个 C++ 程序.

致读者: 小时物理百科一直以来坚持所有内容免费且不做广告,这导致我们处于日渐严重的亏损状态。长此以往很可能会最终导致我们不得不选择商业化,例如大量广告,内容付费,会员制,甚至被收购。因此,我们鼓起勇气在此请求广大读者热心捐款,使网站得以健康发展。如果看到这条信息的每位读者能慷慨捐助 10 元,我们几天内就能脱离亏损状态,并保证网站能在接下来的一整年里向所有读者继续免费提供优质内容。感谢您的支持。

编辑词条(需要权限) 返回目录 返回主页 捐助项目 © 小时物理百科 保留一切权利