コンパイラのインストールと動作確認
Apple XCode

これは,Mac OS を使用している人向けの説明です.

下記の内容は2021年4月現在の情報です.Mac OS X 11.2 で動作確認をしています.
アプリのインストールを行うので,管理者権限が必要かもしれません.

コンパイラ(Xcode)のダウンロードとインストール

こちらのサイト,(要AppStoreサインイン)から,Xcodeをダウンロード・インストールする.
11GB以上あるので,結構時間がかかる.
(スマホ経由やテザリングなど,容量制限のある回線でダウンロードしないほうが良い.)

すでにダウンロード・インストール済の場合は,以下の様に表示される.

コンパイラの動作確認

「アプリケーション」「ユーティリティ」内の「ターミナル」アプリ をクリックして実行,白い背景の窓が開く.(下記は背景の色を変えている.)

ここに,キーボードから以下のコマンド(赤字の部分)を打ち込む.cc, c++ のどちらかで良い.

 % cc --version
 % c++ --version

インストール済みであれば,

Apple clang version 12.0.0 (clang-1200.0.32.29)
Target: x86_64-apple-darwin20.3.0
Thread model: posix
InstalledDir: /Applications/...(省略).../bin

のようなメッセージが表示される.(表示されるversionの値などは異なる可能性がある)

zsh: command not found: c++

のようなメッセージが出る場合は,Xcodeがインストールされていない.または,再起動が必要な場合もある.
インストールの手順をもう一度確認しよう.

コンパイルと実行

コンパイラのインストールが確認できたら,エディタ(miやVisual Studio Code, Xcodeなど)で以下のプログラムを打ち込んで,デスクトップにhello.cppという名前で保存する.
(「作業ディレクトリ」の概念がわかっていれば,好きなディレクトリに保存しても良い.)

/* 有名なHello world プログラム */
#include <stdio.h>

int main(void)
{
    printf("Hello World!\n");
    return 0;
}

ターミナルアプリを起動し,以下のようにソースファイル hello.cpp を保存したフォルダに cdコマンドで移動する.
(ここではDesktopを仮定)
フォルダに移動したら,lsコマンドでファイルがあるかどうか確認し,コンパイルおよび実行してみる. (以下の赤字を入力)

% cd ~/Desktop
    
% ls
hello.cpp
(他にもいろいろ表示されるので,今作成したファイルを探す)

% c++ hello.cpp
(エラーがなければ何も表示されない)

% ls
hello.cpp  a.out
(a.out が増えている)

% ./a.out
Hello World!

と出れば,動作確認完了!

その他,豆知識

フォルダを素早く開く

ターミナルから,今作業しているフォルダを開きたい場合は,

% open .

ドット記号は,「今作業しているディレクトリ」という意味.カレントディレクトリという.

実行ファイル名の指定

Windowsの場合と異なり,実行ファイル名はすべて a.out となる.
実行ファイル名をあらかじめ決めたい場合は,-oオプションで実行ファイル名を指定してコンパイルする.Windowsとは異なり,拡張子は不要.

% c++ hello.cpp -o hello    コンパイル
% ./hello                    実行. UNIX系のOSでは,実行に ./ が必ず必要.

gcc のオプション色々

-o オプション以外にも様々なオプションがあり,--helpオプションで確認できる.
以下に,代表的なもののみ示す.

% c++ --help
OVERVIEW: clang LLVM compiler

USAGE: clang [options] <inputs>

OPTIONS:
  -c                      Only run preprocess, compile, and assemble steps
  -I <dir>                Add directory to include search path
  -L <dir>                Add directory to library search path
  -o <file>               Write output to <file>

  -v                      Show commands to run and use verbose output
  -w                      Suppress all warnings