概要
gccのコンパイルオプションの備忘録。
早見表
早見表
オプション | 役割 | 備考 |
---|---|---|
-lm | math.hのライブラリをリンクする | lはライブラリを指定,mはmath |
-c | [[オブジェクトファイル]]を作る | |
## 一覧 | ||
### -lm | ||
#### 概要 | ||
math.hをインクルードしたオブジェクトコードを他のライブラリとリンクする際に必要なオプション。 | ||
リンカに関するオプションなので、gcc コマンドの後ろにつける必要がある。 |
||
#### e.g. | ||
```c | ||
#include <stdio.h> | ||
#include <math.h> | ||
int main(){ |
int a=2;
printf("%f",sqrt(a));
return 0;
}
```shell
gcc -o a.out hoge.c -lm
オブジェクトファイルのリンクで必要になるオプションである。
gcc -o a.out hoge.o -lm
オブジェクトファイルの作成(ソースのコンパイル)には不要であるが、オプションをつけてもエラーは出ない。
gcc -o hoge.o -c hoge.c -lm # -lmがなくても動く
-c
概要
オブジェクトファイルの作成に使うオプション。
e.g.
gcc -o hoge.o -c hoge.c
-o
をつけないと、hoge.oがオブジェクトファイルにならない。
-g
概要
コンパイル時にデバッグ情報を生成するようにする。 デバッガを使うときに有用。