CコンパイラにはOS側の準備も必要

前回は、Windows 10にLLVM/ClangとWindows Terminalをインストールする方法を紹介した。LLVM/Clangが実行できることは確認できたはずだ。

  • Windows 10で動作するLLVM/Clang Cコンパイラ

    Windows 10で動作するLLVM/Clang Cコンパイラ

ただし、このままではC言語のソースコードからWindows 10で動作するバイナリをコンパイルして生成することはできない。C言語を使うには、コンパイラを用意するだけではなく、オペレーティングシステム側にもそれを受けるセットアップが必要だからだ。これはWindowsに限った話ではなく、多くのオペレーティングシステムでそうなっていることが多い。

UNIX系プラットフォームの場合、最初からセットアップを済ませているものもあるが、そうではない場合、いわゆる「開発ツール」と呼ばれるものをインストールする必要があることが多い。オペレーティングシステム側にC言語開発用のファイルなどを用意する必要があるのだ。

こうした仕組みを知っておくと、Windows 10以外のプラットフォームでC言語開発のセットアップをする際に迷うことが少なくなる。今回は、Windows 10でC言語のソースコードをコンパイルするために必要なセットアップを行おう。

Build Tools for Visual Studio 2019

Windows 10でC言語開発用のセットアップを行う方法はいくつかある。Microsoftが提供している方法のうち、今回の用途に近いものは「Build Tools for Visual Studio 2019」だろう。ただし、Visual Studioがインストール済であったり、会社や学校からVisual Studioのライセンスを付与されていたりしているのであれば、Build Tools for Visual Studio 2019ではなくVisual Studioでもよい。

「Build Tools for Visual Studio 2019」は、以下のページからダウンロードできる。このページのUI/UXは時折変わるので、その時のページに合わせて読み替えてほしい。

  • Visual Studio 2019 for Windows および Mac のダウンロード

    Visual Studio 2019 for Windows および Mac のダウンロード

ページの下部に「Visual Studio 2019のツール」といったメニューが折りたたまれていると思うので、これを展開する。

  • 「Visual Studio 2019のツール」を展開する

    「Visual Studio 2019のツール」を展開する

展開したメニューの中に「Build Tools for Visual Studio 2019」という項目があるはずなので、これをダウンロードする。

  • に「Build Tools for Visual Studio 2019」をダウンロードする

    に「Build Tools for Visual Studio 2019」をダウンロードする

ダウンロードしたインストーラを実行すると、次のようなインストーラが起動してくる。インストーラ自体の名前は「Visual Studio Installer」になっている。

  • ダウンロードしたインストーラを実行する

    ダウンロードしたインストーラを実行する

インストールの途中でインストールする対象を選ぶ画面が表示されるので、ここで少なくとも「C++ Build Tools」を選択する。必要があれば他の項目を選択したり、インストールの詳細を編集したりしてもらってかまわないが、最初のうちは「C++ Build Tools」は確実に選択しておこう。

  • C++ Build Toolsを選択してインストールする

    C++ Build Toolsを選択してインストールする

これでC言語をコンパイルするためのWindows 10側の最低限の準備は完了だ。

Hello World!

早速、Cのソースコードを書いてコンパイルし実行してみよう。まだ統合開発環境はインストールしていないので、Windows Terminalで作業だ。次のように適度な場所に移動してから、メモ帳(notepad.exe)を起動してCのソースコードを書いて保存する。

  • Windows Terminalからエディタを起動

    Windows Terminalからエディタを起動

  • メモ帳で編集中のhello.cファイル

    メモ帳で編集中のhello.cファイル

ソースコードには、次のような内容を書く。hello.cとして保存したら、Windows Terminalに処理を戻す。

hello.c

#include <stdio.h>

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

    return 0;
}

Windows Terminalに戻ってきたら、次のようにclang-cl.exeコンパイラを使ってhello.cファイルをコンパイルする。

Cのソースコードをコンパイル

clang-cl.exe hello.c

コンパイルを行うと、次のスクリーンショットのようにバイナリファイル(hello.exe)が生成される。このファイルは実行することが可能で、実行すれば「Hello World!」といったメッセージが出力される。

  • hello.cのコンパイルと、hello.exeの実行サンプル

    hello.cのコンパイルと、hello.exeの実行サンプル

これで、Windows 10でCのソースコードをコンパイルする必要最小限の準備が整ったことになる。

UNIX系のオペレーティングシステムの場合、パッケージ管理システムからビルドツールをインストールすると自動的にこの辺りの必要なファイルがそろうことが多い。どのプラットフォームを使う場合にせよ、ここで取り上げたようにコンパイラそのものとオペレーティングシステム側のセットアップと、双方が必要になることは覚えておこう。

なお、組み込み開発はクロスコンパイルといった開発方法を使い、今回取り上げた仕組みとは異なっていることも多い。ともあれ、対象のプラットフォームに合わせた方法で準備を行う必要がある。