cygwinでデスクトップ上に移動してcファイルをコンパイルする

先日後輩が作ったプログラムを実行して評価することになった。そのときとある理由でCygwinでコンパイル(exeファイルを作る)して実行したのだがつまづいたところがあったのでその場面のメモ。

Cygwinでデスクトップ上のフォルダに移動できない

先日後輩が作ったプログラムが正常に動くかどうかを評価することになった。環境による結果の違いを考え、eclipse、Visual Studioに加えCygwinの3つで評価することにした。

Cygwinで正常に動くかどうか試そうと下の画像のように評価しようとしたcファイルのある場所に移動しようとした。

cd (実行したいCファイルのあるディレクトリのパス)

f:id:antique088b:20150121233429p:plain

このコマンドを実行するとエラーが出て移動に失敗した。よくわからず調べてみたところ、Cygwinを起動したときはデフォルトでCygwinのフォルダ(たいていは/C/cygwin)を指していてかつcdコマンドだけではCygwinのフォルダ内しか移動できないとのこと。

実行したいCファイルのある場所は/C/Users/***/Desktop/testで起動時のディレクトリの場所は/C/cygwinとCygwinのフォルダ内にはないためこのままではコンパイル&実行ができない。

仕方なくCygwinのフォルダ内に評価したいcファイルを無理やり移動して評価したのだが、そんなことをしなくてもちゃんとCygwinのフォルダ外に移動できるコマンドが用意されている。

cygdriveでデスクトップ上に移動する

Cygwinでデスクトップ上のディレクトリに移動する場合はcygdriveというコマンドを使う。

cd /cygdrive/(実行したいCファイルのあるディレクトリのパス)

f:id:antique088b:20150121233953p:plain

これでデスクトップ上に移動できる。デスクトップ上のフォルダに移動したい場合はフォルダまで指定して上のコマンドを実行する。

そして以下のコマンドでCファイルをコンパイル(exeファイル)を作る。

gcc (ファイル名).c

f:id:antique088b:20150121235131p:plain

Cファイルとかヘッダーファイルとかが複数ある場合は

gcc (ファイル名1).c (ファイル名2).c (ファイル名3).h

と間に半角スペース入れて連続で打てばOK。main関数があるCファイルを最初に指定するのを忘れずに

Cファイルやヘッダーファイルにエラーがなければ、カレントディレクトリにa.exeファイルができるので以下のコマンドでこのa.exeを実行する。

./a.exe

f:id:antique088b:20150121235523p:plain

コマンドライン引数を指定したい場合は

./a.exe (引数)

と後ろに半角スペースを入れて指定する。指定したいコマンドラインが複数ある場合は同様に半角スペースで区切って指定する。実行するとcygwinの画面上に結果が出力される。

f:id:antique088b:20150122000756p:plain

ちなみにhogehoge.cの内容はおなじみのHello world!さん。

コメント

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