Windows 10には “Windows Subsystem for Linux(WSL)” と呼ばれる機能により、Windows上でLinuxプログラムを動作させることができるようになっているので、C言語の “gcc(コンパイラ)” や “gdb(デバッガ)” をインストールして開発環境を構築してみました。
WindowsでC言語
Windows上でC言語を使ったプログラミングを行うのが意外と面倒です。開発環境の構築は様々な方法がありますが、どれも手間がかかり二の足を踏む人も多いでしょう。
Windows 10には “Windows Subsystem for Linux(WSL)” と呼ばれる機能が搭載されており、Windows上でLinuxプログラムを動作させることができるようになったことから、これを使ってC言語の “gcc(コンパイラ)” や “gdb(デバッガ)” などの開発環境を構築し使うことができるようになりました。
gccやgdbなどは、Linuxのディストリビューションによってはプリインストール(プレインストール)されていることも多いですが、Windows 10のWSLでインストールした “Ubuntu” にはインストールされていなかったので、手動でインストールしてみました。
参考 Windows 10でLinuxプログラムを実行可能にする方法
gcc・gdbなどをインストールする手順
- サーバーから “パッケージ・リスト” を取得し、パッケージのアップグレードをしておきます。
sudo apt-get update sudo apt-get upgrade
- パッケージの “build-essential” をインストールします。
sudo apt-get install build-essential
Ubuntuの場合、このパッケージをインストールするだけで使えるようになります。 - 操作しているユーザー名に対する “パスワード” を入力しEnterキーを押下します。
[sudo] password for username:
入力したパスワードは表示されません。 - ダウンロード&インストールされるパッケージ・リストが表示されるので、内容を確認し問題が無ければYキーまたはEnterキーを押下します。
Reading package lists... Done Building dependency tree Reading state information... Done The following package was automatically installed and is no longer required: libfreetype6 Use 'sudo apt autoremove' to remove it. The following additional packages will be installed: binutils binutils-common binutils-x86-64-linux-gnu cpp cpp-7 dpkg-dev fakeroot g++ g++-7 gcc gcc-7 gcc-7-base libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan4 libatomic1 libbinutils libc-dev-bin libc6-dev libcc1-0 libcilkrts5 libdpkg-perl libfakeroot libfile-fcntllock-perl libgcc-7-dev libgomp1 libisl19 libitm1 liblsan0 libmpc3 libmpx2 libquadmath0 libstdc++-7-dev libtsan0 libubsan0 linux-libc-dev make manpages-dev Suggested packages: binutils-doc cpp-doc gcc-7-locales debian-keyring g++-multilib g++-7-multilib gcc-7-doc libstdc++6-7-dbg gcc-multilib autoconf automake libtool flex bison gdb gcc-doc gcc-7-multilib libgcc1-dbg libgomp1-dbg libitm1-dbg libatomic1-dbg libasan4-dbg liblsan0-dbg libtsan0-dbg libubsan0-dbg libcilkrts5-dbg libmpx2-dbg libquadmath0-dbg glibc-doc bzr libstdc++-7-doc make-doc The following NEW packages will be installed: binutils binutils-common binutils-x86-64-linux-gnu build-essential cpp cpp-7 dpkg-dev fakeroot g++ g++-7 gcc gcc-7 gcc-7-base libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan4 libatomic1 libbinutils libc-dev-bin libc6-dev libcc1-0 libcilkrts5 libdpkg-perl libfakeroot libfile-fcntllock-perl libgcc-7-dev libgomp1 libisl19 libitm1 liblsan0 libmpc3 libmpx2 libquadmath0 libstdc++-7-dev libtsan0 libubsan0 linux-libc-dev make manpages-dev 0 upgraded, 40 newly installed, 0 to remove and 0 not upgraded. Need to get 37.1 MB of archives. After this operation, 160 MB of additional disk space will be used. Do you want to continue? [Y/n]
gcc・gdbなどをインストールするやり方は以上です。
動作確認する手順
- ソースファイル “helloworld.c” を作成します。
#include <stdio.h> int main(int argc, char *args[]) { printf("Hello world\n"); return 0; }
- ソースファイルをコンパイルし “実行ファイル” を作成します。
gcc -o helloworld helloworld.c
- 実行ファイルを実行します。
./helloworld
動作確認するやり方は以上です。
Linux上でのインストール作業は依存関係などが複雑に絡み合い上手いくいかない事も多いですが、Ubuntuではパッケージによって一式をインストールできるので簡単にC言語の開発環境を構築することができました。