at backyard

Color my life with the chaos of trouble.

Docker上でC言語を気軽に試せる環境を作って、C言語の勉強をしている話

ども、Linux上でC言語を勉強しようと思い、Ubuntuをインストールして環境構築をしていたら、それだけで満足してしまって勉強まで至らなかったことのある私です。

先日このようなポストを書きました。さっそくCコンパイラ作成本を読んでいますが、とても面白いです。

shinshin86.hateblo.jp

Linux上で実際に動かしてみながら、読み進めています。
さすがに今回は環境構築で満足はできないので、以前作成したDocker imageを使用して、docker上でC言語を気軽に試せる環境を構築してそちらでコードを書いています。

ちなみに最近Neovimもよく使っているので、そちらも一緒にインストールしています。ま、そんなわけで、非常に個人的な構成となっています。
(ちなみに気分によってneovimvimを使い分けています。本当に気分によって)

github.com

そのうちDocker Hubに置こうと思っていますが、いまは一旦Github上で管理していき、微妙に改良を加えつつ行こうかと考え中。

使い方

一応使い方はREADMEに書いてありますが、下記のような感じで使えます。

github.com

# リポジトリをclone
git clone https://github.com/shinshin86/dev-c-lang-with-neovim-at-docker.git

# ルートに移動
cd dev-c-lang-with-neovim-at-docker

# ビルド
docker build -t dev-c-lang-with-vim .

# 立ち上げたdocker内でbashを起動。--rmをつけているので、exitすると同時に docker コンテナを削除してくれる
# また、workディレクトリをマウントしている
docker run -it --rm -v $(pwd)/work:/tmp/share --name dev-c dev-c-lang-with-vim /bin/bash

接続したdocker コンテナ内にて

# クローンしたリポジトリのwork内にテストコードがおいてあるので、そちらをdocker内にコピー。
cp -p /tmp/share/test.c $HOME/work/

# clangかgccでテストコードをコンパイルしてみる
cd $HOME/work
clang test.c # Also can use gcc => gcc test.c

# 実行!
./a.out
# ---> hello world

コードを編集するとき

Neovimはnvで起動するようにしているので、ソースコードを編集するときは下記のコマンドを実行する

nv test.c