Microsoft C/C++を使ってみよう
前回の作業で、開発環境として「Visual Studio Build Tools 2022」をインストールし、Microsoft製のC/C++ビルドツールを使えるところまでセットアップした。Visual Studio Build Tools 2022はビルドツールであり、利用するにあたって、Visual Studioのような統合開発環境は必須ではない。エディタと、ビルドツールとしてインストールされるコマンドを使うだけで開発が行える。
ただし、ビルドツールとして機能させるには、いくつかの環境変数を適切な値に設定する必要がある。これはかなり面倒なので、最初から環境変数が設定されたコンソールアプリケーション「Developer Command Prompt for VS 2022」で作業を行っていく。このCUI環境は起動直後からビルドツールを使うために必要となる環境変数が設定されているので、そのまま開発作業を行うことができる。
Hello World!
定番のHello World!を用意する。
helloworld.c
#include <stdio.h>
int main()
{
printf("新大陸へようこそ!\n");
return 0;
}
「Developer Command Prompt for VS 2022」でこのファイルを閲覧しようとすると、次のように文字化けすることがある。
これは文字コードの違いが原因だ。ここではhelloworld.cはUTF-8で作成されている。しかし、日本語環境だと「Developer Command Prompt for VS 2022」はデフォルトではCP932 (Shift_JISを拡張したもの)が使われていると思う。ファイルの文字コードとコンソールの文字コードが違うので文字化けするわけだ。
コンソールに設定されている文字コードは、次のようにchcpというコマンドで確認できる。
ソースコードの文字コードにUTF-8を使っているなら、次のように「chcp 65001」とコマンドを実行してDeveloper Command Prompt for VS 2022の使う文字コードをUTF-8へ変更してやるとよい。これで文字化けしなくなる。
では、helloworld.cをコンパイルして実行してみよう。やり方はいくつかあるが、仕組みを理解するために、cl.exeコマンドでオブジェクトファイルを生成し、link.exeコマンドでリンクして実行ファイルを生成する方法を試してみよう。まず、次のように「cl.exe /c helloworld.c」と実行して、Cのソースコードからオブジェクトファイルを生成する。
次に、link.exeコマンドを「link.exe helloworld.exe」のように実行してリンクを行いオブジェクトファイルから実行ファイルを生成する。
helloworld.exeという実行ファイルが生成されるので、これを実行する。
上記のスクリーンショットのように、helloworld.cのビルドが成功し、実行ファイルが動作していることを確認できる。LLVM Clangで行う作業とほぼ同じだ。異なるビルドツールを使っているため使用するコマンドやオプションは異なるが、基本的にC/C++開発で行う作業はほぼ同じだ。