コンパイラ

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

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

 

  • この記事を書いた人

ポルカ

アプリ開発を独学で学び、それを仕事にした人。iOSエンジニア。 独学でのアプリ開発の経験やそれを仕事に繋げるまでの経験をベースに記事を執筆中! 数学、最近は特に統計学やデータサイエンスにまつわる記事を誰にでも分かりやすくをコンセプトに執筆しています。

-コンパイラ
-,

© 2024 poruka blog Powered by AFFINGER5