最終更新:2021-03-08 (月) 09:30:46 (1308d)
gcc
Top / gcc
http://linuxjm.sourceforge.jp/html/GNU_gcc/man1/gcc.1.html
http://www.geocities.jp/woodwood77777/gcc_gnu.htm
SYNOPSIS
gcc [-c|-S|-E] [-std=standard] [-g] [-pg] [-Olevel] [-Wwarn...] [-pedantic] [-Idir...] [dir...] [-Dmacro[=defn]...] [-Umacro] [-foption...] [-mmachine-option...] [-o outfile] [@file] infile...
例
gcc hoge.cpp -o hoge
アーキテクチャ別
プリプロセッサ
引数
パラメータ 意味 値とか 例 gcc -W? 警告の表示 all -Wall gcc -o 出力するファイル名 ファイル名 -o test.a gcc -O GCC/最適化 1,2,3 -O3 gcc -S アセンブリ出力 gcc -c コンパイルはするがリンクはしない。オブジェクトファイルを出力。 gcc -E Cプリプロセッサの処理のみを行なう gcc -m プロセッサごとのオプション gcc -v (標準エラー出力に対して) コンパイルの各ステージで実行されるコマンドを表示 gcc -shared? gcc -s? gcc -g デバッグ情報を生成 gcc -Wa?,<options> Pass comma-separated <options> on to the assembler gcc -Wp?,<options> Pass comma-separated <options> on to the preprocessor gcc -Wl,<options> Pass comma-separated <options> on to the linker (ld) -Wl,-s -Wl,-S
オプション
ディレクトリオプション
- -I(dir) - dirをインクルードパスに追加
- -L(dir) - dirを-lによって指定されたライブラリの検索パスに追加
-x : Specify the source language
- -x c
- -x c++
- -x objective-c
- -x assembler-with-cpp
リンカオプション
- -l(library) - 名前が library であるライブラリをリンク時に使用 (libxxxのxxxを指定)
- -c - コンパイルはするがリンクはしない。オブジェクトファイルを出力。
- -S - アセンブリ出力
- -E - Cプリプロセッサの処理のみを行なう
プリプロセッサ
- -D macro - マクロ macro に対して文字列 `1' を定義として与える。
- -D name=definition - nameマクロを定義
検索パス
gcc -print-search-dirs
プリプロセッサで定義済みのマクロを表示
gcc -dM -E -xc /dev/null
- -dM - プリプロセッサに対して、プリプロセス終了時に有効であったマクロの定義の みを出力とすることを指定する。`-E' オプションとともに使用する。
- -E - プリプロセッサの処理のみを行なう
- -xc - 言語を指定。-x language
Ubuntu/パッケージ
依存
コマンド
- c89-gcc?
- c99-gcc?
- gcc -> gcc-5
- gcc-ar? -> gcc-ar-5?
- gcc-nm? -> gcc-ar-5?
- gcc-ranlib? -> gcc-ranlib-5?
- gcov -> gcov-5?
- gcov-tool? -> gcov-tool-5?
- x86_64-linux-gnu-gcc -> gcc-5
- x86_64-linux-gnu-gcc-ar?
- x86_64-linux-gnu-gcc-nm?
- x86_64-linux-gnu-gcc-ranlib?
- x86_64-linux-gnu-gcov?
- x86_64-linux-gnu-gcov-tool?
help
gcc --help Usage: gcc [options] file... Options: -pass-exit-codes Exit with highest error code from a phase. --help Display this information. --target-help Display target specific command line options. --help={common|optimizers|params|target|warnings|[^]{joined|separate|undocumented} }[,...]. Display specific types of command line options. (Use '-v --help' to display command line options of sub-processes). --version Display compiler version information. -dumpspecs Display all of the built in spec strings. -dumpversion Display the version of the compiler. -dumpmachine Display the compiler's target processor. -print-search-dirs Display the directories in the compiler's search path. -print-libgcc-file-name Display the name of the compiler's companion library. -print-file-name=<lib> Display the full path to library <lib>. -print-prog-name=<prog> Display the full path to compiler component <prog>. -print-multiarch Display the target's normalized GNU triplet, used as a component in the library path. -print-multi-directory Display the root directory for versions of libgcc. -print-multi-lib Display the mapping between command line options and multiple library search directories. -print-multi-os-directory Display the relative path to OS libraries. -print-sysroot Display the target libraries directory. -print-sysroot-headers-suffix Display the sysroot suffix used to find headers. -Wa,<options> Pass comma-separated <options> on to the assembler. -Wp,<options> Pass comma-separated <options> on to the preprocessor. -Wl,<options> Pass comma-separated <options> on to the linker. -Xassembler <arg> Pass <arg> on to the assembler. -Xpreprocessor <arg> Pass <arg> on to the preprocessor. -Xlinker <arg> Pass <arg> on to the linker. -save-temps Do not delete intermediate files. -save-temps=<arg> Do not delete intermediate files. -no-canonical-prefixes Do not canonicalize paths when building relative prefixes to other gcc components. -pipe Use pipes rather than intermediate files. -time Time the execution of each subprocess. -specs=<file> Override built-in specs with the contents of <file>. -std=<standard> Assume that the input sources are for <standard>. --sysroot=<directory> Use <directory> as the root directory for headers and libraries. -B <directory> Add <directory> to the compiler's search paths. -v Display the programs invoked by the compiler. -### Like -v but options quoted and commands not executed. -E Preprocess only; do not compile, assemble or link. -S Compile only; do not assemble or link. -c Compile and assemble, but do not link. -o <file> Place the output into <file>. -pie Create a dynamically linked position independent executable. -shared Create a shared library. -x <language> Specify the language of the following input files. Permissible languages include: c c++ assembler none 'none' means revert to the default behavior of guessing the language based on the file's extension. Options starting with -g, -f, -m, -O, -W, or --param are automatically passed on to the various sub-processes invoked by gcc. In order to pass other options on to these processes the -W<letter> options must be used. For bug reporting instructions, please see: <file:///usr/share/doc/gcc-9/README.Bugs>.