【初心者向け】C言語プログラミングを試す環境

組込みStudy

2026年11月6日時点の補足

この記事は、Windows上でMSYS2を使ってC言語を試す環境を紹介した記録です。画面やパッケージ状況は掲載当時のもので、以下の内容は現行Windowsで実行確認していません。

MSYS2は現在も更新されていますが、環境の選択肢は変わっています。MSYS2公式資料は、迷った場合にUCRT64を選ぶよう案内し、MINGW64環境は2026年3月15日に非推奨となりました。これから設定する場合は、UCRT64のターミナルを選ぶ方法があります。

MSYS2のpacmanは一部のパッケージだけを更新する使い方をサポートしていません。パッケージを追加する前に、全体を更新します。

pacman -Suy

更新中にすべてのMSYS2プロセスを閉じるよう求められた場合は、ターミナルを起動し直して同じ更新コマンドをもう一度実行します。UCRT64環境にGCCを追加するパッケージ名はmingw-w64-ucrt-x86_64-gccです。

pacman -S mingw-w64-ucrt-x86_64-gcc
gcc test.c -o test.exe

x64のWindowsでWindows向けの実行ファイルを作るならMSYS2 UCRT64、LinuxのコマンドやLinux向けの動作環境を使うならWSL 2のUbuntu、というように目的で選べます。Microsoftの現在のWSLではWSL 2が既定です。Windows 11では、管理者権限のPowerShellからwsl --installを実行してWSLと既定のUbuntuを導入できます。実行後にWindowsを再起動します。それ以外のWindowsバージョンでは、公式資料で対応要件と手順を確認してください。

MSYS2の更新、環境の選択、ターミナルの種類は更新手順、環境の説明、ターミナルの説明を参照してください。GCCのパッケージ名は公式パッケージ一覧、WSL 2はインストール手順とWSL 1・2の比較を確認してください。

目的

組込み開発の現場では、なんだかんだでC言語が一番多く用いられており基本の開発言語となります。パソコンでお手軽にプログラミング・コンパイル・リンク・実行が試せるネイティブ環境[1] … Continue readingを構築します。

プログラミング学習だけでなく、思いついたアルゴリズムをマイコンボードで動かす前に試作確認してみたり、マイコンボードで思い通りに動かないソースコードを部分的に取り出してパソコン上でデバッグしたり、いろいろ使い道があります。

環境構築

実は環境構築というほどのこともなく、マイコンボードの開発環境を構築していれば既に使えるようになっているというレベルのものです[2]お金を払わないと用意できなかった時代もありました。相当昔のことですが…。

Linux(Ubuntu等)がおすすめですが[3]WSL 2(Windows Subsystem for Linux 2)やVirtualBox、VMWareなどの仮想化環境にUbuntuを入れるという手もあります。、WindowsパソコンであればCygwin、MSYS2あたりがお手軽です。ここでは、以下の記事で紹介しているRaspberry Pi Pico開発環境でも使用するMSYS2の例を紹介します。

MSYS2インストール方法

以下のページに記載の手順に従ってInstallationを実施します。躓きそうな部分は特に見当たりません。

MSYS2
Software Distribution and Building Platform for Windows

基本的なパッケージは上記手順でインストールされていますので、必要に応じてその他パッケージをインストールします。

$ pacman -S vim

“vi”という名でvimが起動できるようにaliasを設定しておきます[4]恒久的に設定する場合は~/.bashrcに追記しておきましょう。。

$ alias vi='vim'

デフォルトだとvimにコピペできないので、以下の対応をしておきます。

$ vi ~/.vimrc
if has('win32unix')
    vnoremap "*y :'<,'>w !cat > /dev/clipboard
endif

シェルを再起動します。

コンパイル・実行

$ vi test.c
#include <stdio.h>

int main() {
    printf("Hello world.\n");
    return 0;
}
$ gcc test.c
$ ./a.exe
Hello world.

注釈

注釈
↑1 自分(ここではパソコン)のCPUで動かすプログラムを作るための環境のこと。逆にマイコンボードなど自分とは異なるCPUで動かすためのプログラムを開発する環境のことをクロス環境といいます。
↑2 お金を払わないと用意できなかった時代もありました。相当昔のことですが…
↑3 WSL 2(Windows Subsystem for Linux 2)やVirtualBox、VMWareなどの仮想化環境にUbuntuを入れるという手もあります。
↑4 恒久的に設定する場合は~/.bashrcに追記しておきましょう。

コメント

タイトルとURLをコピーしました