留年戦記

留年と工学と人間関係と毎日戦っている人のブログです. 今年は留年回避済み.プロマネのお勉強中.留学試みたりTOEICの得点向上を試みたり.普通に学校の勉強を頑張ったり工学(プログラミングも回路も)について学んでみたり.時々レーザーカッターのパラメータを記事にしてます.

WindowsPCにCコンパイラを導入する【gcc】

つい先日,C言語について解説されていたブログを拝見しまして,そこでwindowsコンパイラの話なかったので,私が書いちゃお的ノリになってるあこさんです.

 

macubuntuには標準搭載されているCコンパイラgcc

windowsにはありません.(たぶん)

なんで無いんでしょうね(嘆き)

いや,あるべきでしょう(願望)

ないなんておかしい(現実逃避)

まぁ,仕方ない(諦め)

無いなら入れてやろう(決意)

 

というわけで,私が大好きなgccwindowsに入れて実際に動くかまでの動作確認を行いたいと思います.

 

1,導入

今回導入するのはgccではあるのですが,windows版(と言ったらいいのかな?)なのでMinGWというものです.

これはchocolateyで入れることができるので30秒もあれば導入が完了します.

ちなみに,chocolateyの導入はこちらの記事を遡ってくださいね.

 

aconote.hatenablog.com

 インストールするにも「mingw」で入れるのが「gcc」と入れるのかを忘れました.

ので,調べました.

chocolateyのpackage検索サイトで「gcc」調べると一番上に出てきました.

今から入れるのはこれです.

f:id:aconote:20161031171950p:plain

これがwindowsgccです.

コンパイラだけならgccというだけの話で統合開発ソフトでいうならEclipseやVisualStudioがあります.それらはネットからダウンロード→インストールという流れでできるのでテキストエディタとか別々にインストールするのめんどうい!って方は是非そちらをお使いください.

 

インストール終えたら動作確認.

 

2,コマンドプロンプト操作

今回「test.c」というコンパイルができるかどうかを知るためのプログラムを用意しました.

f:id:aconote:20161031172303p:plain

まぁ,至ってシンプルですね.

要は「compile test」と表示するだけのプログラムです.

これを「test.c」としてdesktopに保存しました.

さて,ここからコマンドプロンプトを使います.

スタートボタンから「cmd」と検索して出てくるのがコマンドプロンプトです.

で,最初のカレントディレクトリ(現在自分が存在しているディレクトリ位置)が目的のdesktopではないので移動します.

 

とりあえず最初はCに戻る.

移動方法は「cd *****(*は任意のファイル名)」で移動できます.

今回は絶対パス(URLにてページ指定すること.どこにいても同じところにいける)にてCの頭に移動.

f:id:aconote:20161031172231p:plain

これで「C:」に移動できます.

そこから中身がちゃんと入っているかを確認するには「dir」コマンドを使います.

f:id:aconote:20161031173014p:plain

「test.c」ファイルがありますね.

OKです.

というわけで実行します.

gcc ****(*はファイル名.拡張子まで書くこと)」

コンパイルを行います.

f:id:aconote:20161031173056p:plain

上手くいくとコマンド待機になります.

その時カレントディレクトリに「a.exe」というファイルができているはずです.

 

出来ていたら成功です.

実行をします.

f:id:aconote:20161031173153p:plain

はい.「compile test」が表示されました.

ちゃんとコンパイル出来てますね.

 

というわけでgccの導入ができました.

 

3,まとめ

作業ディレクトリ自体はどこでもいいのですが,基本的に私はdesktopにしてます(移動するときに移動しやすい).

統合開発ソフトでよく,この作業ディレクトリがどこなのか問題が発生しますよね…(ワークスペースとも言ったりします).ので,統合開発ソフトをお使いになられる方はどうしてもコンパイルできないっ!って時はディレクトリ位置を見てくださいね.

gccにはコンパイル時に軽くする度合いやセグフォ(メモリが変なところ参照したり)してる場所を検索する機能などがついていますので是非極めてください!