前言
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 的使用手冊。