分からない、知らないを解決する

poruka blog

gccとは gccコマンドについてわかりやすく解説します <初心者>

 

 

どうも、porukaです。

 

今回は、gccについて解説していきます。

 

目次

1.gccとは

2.使い方

3.gccのオプション 一覧

4.gccのコマンド(具体例)

5.まとめ

 

 

1.gccとは

 

gccというのは、プログラミングを実行する時に必要なコンパイラの一つです。

コンパイラというのは、人間の書いたソースコードをコンピューターが読み取れるような状態にするプログラムのことです。また、コンパイラを使ってコンピューターが読み取れる状態にする過程のことをコンパイルと言います。

gccは、GNU Compiler Collection の略であり、これは、オープンソースとして公開されています。最初は、C言語から始まり、今では、C++、Objective-Cなどの言語にも幅広く対応しています。

現在では、Unix系OS、Windows(一部)に対応した形でMinGWというAPIが一般公開されています。

 

 

2.使い方

 

 Mac

Macでは、Xcodeのインストールすることによって、gccコマンドもインストールされて自由に使えるようになります。

Xcodeのインストール方法はこちらから

Windows

Windowsでは、gccを使う場合は、先ほど紹介した、MinGWをインストールする方法があります。

また、Xcodeのような統合開発環境である、Visual Studioをインストールすることでもコンパイラを導入することができます。

 

 

3.gccオプション一覧

 

gccの主なコマンドについて紹介していきます。

・ -g

コンパイルやリンク時にデバッグ情報を追加する。

・ -c

リンク等を使用せず、コンパイルのみを行う。

・ -o

コンパイル結果のファイルである実行ファイルの名前を指定する。

・ -Wall

コンパイル時に、警告も表示するようにする。

・ -lm

算術演算用ライブラリーをリンクする。これにより、sin()、cos()、log()などの算術演算用関数の使用が可能となる。

・ -Ldir

コンパイラがライブラリーを探す場所を指定する。通常の場所にライブラリーがある場合、指定する必要はないが、それ以外の場合は必要となる。

・ -Idir

コンパイラがヘッダーファイルを探す場所を指定する。これも、-Ldirと同様に通常の場所にヘッダーファイルがある場合、指定する必要はないが、それ以外の場合は必要となる。

 

 

4.gccのコマンド(具体例)

 

今回は、C言語におけるgccのコマンドを紹介していきます。基本的に、c++の場合はgccのところをg++に変えることで代用することができます。

・ gcc file.c

file.cをコンパイルとリンクをして、a.outという実行ファイルを作成する。

・gcc file.c file2.c

file.cとfile2.cをコンパイルとリンクをして、a.outという実行ファイルを作成する。

・ gcc -g file.c

file.cをコンパイルとリンクをして、a.outという実行ファイルを作成する。この際、デバッグ情報も付け加えられる。

・ gcc -o file file.c

file.cをコンパイルとリンクをして、fileという名前の実行ファイルを作成する。

・ gcc -c file.c

file.cをコンパイルして、file.oというオブジェクトファイルを作成する。

・ gcc -c file.c file2.c

file.cとfile2.cを別々にコンパイルして、それぞれfile.o、file2.oというオブジェクトファイルを作成する。

・ gcc -o file file.o

file.oをリンクして、fileという名前の実行ファイルを作成する。

・ gcc -g -o file -lm file.o

file.oと算術演算用ライブラリをリンクして、デバッグ情報を付け加えた上で、fileという名前の実行ファイルを作成する。

 

~実行ファイルの実行方法~

ファイル名の前に./と打つことにより可能。

実行ファイル名がfileの場合、./file

実行ファイル名をコンパイル時に指定しなかった場合は、./a.out

 

 

5.まとめ

 

これまで、gccについて例も含め解説してきましたが、これの他にもコマンドの打ち方があるので、興味があれば、勉強してみてください。

また、毎回コマンドを打つのは面倒なので、メイクファイルを作成する、という方法もあるので、いずれメイクファイルについても解説したいと思います。

 

  • B!