2025-03-05 09:34:15 +09:00
|
|
|
# gcc
|
|
|
|
|
|
|
|
> C と C++ のソースファイルを前処理してコンパイルし、アセンブルしてリンクします。
|
|
|
|
> GCC (GNU Compiler Collection) の一部です。
|
|
|
|
> もっと詳しく: <https://gcc.gnu.org>。
|
|
|
|
|
|
|
|
- 複数のソースファイルを実行ファイルにコンパイルする:
|
|
|
|
|
2025-03-14 09:18:08 +02:00
|
|
|
`gcc {{path/to/source1.c path/to/source2.c ...}} {{[-o|--output]}} {{path/to/output_executable}}`
|
2025-03-05 09:34:15 +09:00
|
|
|
|
|
|
|
- 全てのエラーと警告の出力を有効にする:
|
|
|
|
|
2025-03-14 09:18:08 +02:00
|
|
|
`gcc {{path/to/source.c}} -Wall {{[-o|--output]}} {{output_executable}}`
|
2025-03-05 09:34:15 +09:00
|
|
|
|
|
|
|
- 一般的な警告、デバッグシンボルを出力に表示し、デバッグに影響を与えずに最適化する:
|
|
|
|
|
2025-03-14 09:18:08 +02:00
|
|
|
`gcc {{path/to/source.c}} -Wall {{[-g|--debug]}} -Og {{[-o|--output]}} {{path/to/output_executable}}`
|
2025-03-05 09:34:15 +09:00
|
|
|
|
|
|
|
- 別のパスからライブラリをインクルード:
|
|
|
|
|
2025-03-14 09:18:08 +02:00
|
|
|
`gcc {{path/to/source.c}} {{[-o|--output]}} {{path/to/output_executable}} -I{{path/to/header}} -L{{path/to/library}} -l{{library_name}}`
|
2025-03-05 09:34:15 +09:00
|
|
|
|
|
|
|
- ソースコードをアセンブラ命令にコンパイルする:
|
|
|
|
|
2025-03-14 09:18:08 +02:00
|
|
|
`gcc {{[-S|--assemble]}} {{path/to/source.c}}`
|
2025-03-05 09:34:15 +09:00
|
|
|
|
|
|
|
- ソースコードをリンクせずにオブジェクトファイルにコンパイル:
|
|
|
|
|
2025-03-14 09:18:08 +02:00
|
|
|
`gcc {{[-c|--compile]}} {{path/to/source.c}}`
|
2025-03-05 09:34:15 +09:00
|
|
|
|
|
|
|
- コンパイルしたプログラムをパフォーマンスのために最適化する:
|
|
|
|
|
2025-03-14 09:18:08 +02:00
|
|
|
`gcc {{path/to/source.c}} -O{{1|2|3|fast}} {{[-o|--output]}} {{path/to/output_executable}}`
|
2025-03-05 09:34:15 +09:00
|
|
|
|
|
|
|
- バージョンを表示:
|
|
|
|
|
|
|
|
`gcc --version`
|