位元詩人 [C++] 程式設計教學:在 GNU/Linux 上寫 C++ 程式

C++開發環境
Facebook Twitter LinkedIn LINE Skype EverNote GMail Yahoo Email

前言

GNU/Linux 承襲 Unix 的傳統,對開發者來說是多功能且強大的平台。本文介紹在 GNU/Linux 上寫 C++ 程式的方式。

編譯器 (Compiler)

在 GNU/Linux 中,大部分都是用 GCC 內的 g++ 編譯 C++ 程式,不過,想用 Clang 也可以。由於 Clang 的錯誤訊息比 GCC 來得友善,使用 Clang 來編譯 C++ 倒是一個不錯的替代方案。本文仍假定讀者會使用 GCC。

在 Ubuntu 安裝 GCC 等開發工具的的指令如下:

$ sudo apt-get install build-essential

在 CentOS 安裝 GCC 等開發工具的指令如下:

$ sudo dnf groupinstall "Development Tools"

在 openSUSE 安裝 GCC 等開發工具的指令如下:

$ sudo zypper install -t pattern devel_basis

編輯器 (Editor)

老練的 GNU/Linux 使用者會使用 Make 或 CMake 這類跨 IDE 的專案管理工具,但這類工具有一定門檻,對於初學者來說,多學一個陌生的工具負擔較重。

如果還在學習語法的階段,可以用 IDE 來簡化編譯和執行程式的過程。以下是一些在 GNU/Linux 上可見的 IDE:

使用 Anjuta 建立 C++ 專案

Unix 文化流行命令列工具,故 GNU/Linux 上沒有預設的 IDE,本節以 Anjuta 為例,展示建立 C++ 專案的方式。

在 Anjuta 主畫面中選擇「Create a new Project」:

專案類型選擇「Generic C++」:

填入專案的基本資訊:

設置專案的選項:

建立專案前進行最後的確認:

進入 Anjuta 的編輯器,開始寫 C++ 程式:

Anjuta 其實有一些不合理的地方,像是專案的授權只能選 GPL、LGPL、BSD 或無授權。反正我們只是拿 Anjuta 來練習 C++ 語法,之後要建立 C++ 專案時改用其他工具即可。

套件管理

在 GNU/Linux 上,可以用系統套件管理軟體來安裝 C (或 C++) 函式庫,像是 Debian 系的 APT 或是 Red Hat 系的 YUM 等。一開始時不會用到第三方函式庫,有需要的讀者可自行參考系統手冊來學習這類軟體的使用方式。

以下範例指令在 Ubuntu 或 Debian 上安裝 Boost,這是一個 C++ 通用函式庫:

sudo apt-get install libboost-all-dev

建立 Hello World 程式

以下是 C++ 版本的 Hello World 程式:

#include <iostream>

int main(void)
{
    std::cout << "Hello World" << std::endl;

    return 0;
}

在終端機環境編譯該程式的指令如下:

$ g++ -o hello hello.cpp
$ ./hello
Hello World

如果使用 IDE 來編譯程式,選擇「Run」之類的選單項目即可,請讀者自行查閱各 IDE 的使用手冊。

關於作者

身為資訊領域碩士,位元詩人 (ByteBard) 認為開發應用程式的目的是為社會帶來價值。如果在這個過程中該軟體能成為永續經營的項目,那就是開發者和使用者雙贏的局面。

位元詩人喜歡用開源技術來解決各式各樣的問題,但必要時對專有技術也不排斥。閒暇之餘,位元詩人將所學寫成文章,放在這個網站上和大家分享。