gcc用法(1)

3747 ワード

まず端末にgcc--helpを入力
使用法:gcc[オプション]ファイル...オプション:-pass-exit-codesあるフェーズの終了時に最も高いエラーコードを返す--helpこのヘルプの説明を表示する--target-helpターゲットマシン固有のコマンドラインオプションを表示する--help={target|optimizers|warnings|params|[^]{joined|separate|undocumented}[,...]特定のタイプのコマンドラインオプションを表示します('-v--help'を使用してサブプロセスのコマンドラインパラメータを表示します).--versionコンパイラバージョン情報を表示-dumpspecsすべての組み込みspec文字列を表示-dumpversionコンパイラのバージョン番号を表示-dumpmachineコンパイラのターゲットプロセッサ-print-search-dirsコンパイラの検索パスを表示-print-libgcc-file-nameコンパイラに伴うライブラリの名前-print-file-name=表示されるフルパス-print-prog-name=コンパイラコンポーネントのフルパスを表示-print-multi-directory異なるバージョンlibgccのルートディレクトリ-print-multi-lib表示コマンドラインオプションと複数のバージョンライブラリ検索パス間のマッピング-print-multi-os-directoryが表示されますオペレーティングシステムライブラリの相対パスを示す-print-sysrootターゲットライブラリディレクトリ-print-sysroot-headers-suffixヘッダファイルを探すためのsysroot接尾辞-waを表示し、カンマで区切られたものをアセンブリ-Wpに渡し、カンマで区切られたものをプリプロセッサ-Wlに渡します.コンマ区切りをリンクに渡す-Xassemblerアセンブリに渡す-Xpreprocessorプリプロセッサに渡す-Xlinkerリンクに渡す-save-temps中間ファイルを削除しない-save-temps=中間ファイルを削除しない-no-canonical-prefixes他のgccコンポーネントの相対パスを生成するときに正規化された接頭辞を生成しない-pipe一時ファイルの代わりにパイプを使用する-timeサブプロセスごとに時間を計る-specs=使用するコンテンツに組み込まれたspecsファイル-std=を上書きするソースファイルの基準を入力--sysroot=ヘッダファイルとライブラリファイルとしてのルートディレクトリ-Bがコンパイラの検索パスに追加されます-vコンパイラ呼び出しを表示するプログラム-####は-vと似ていますが、選択項目は引用符で囲まれています.また、コマンド-Eを実行せずに前処理のみを行い、コンパイル、アセンブリ、リンク-Sをアセンブリ言語にコンパイルせず、アセンブリとリンク-cのコンパイル、ターゲットコードへのアセンブリを行わず、リンク-oを-xに出力しないで、その後の入力ファイルを指定する言語で許可される言語には、c c++assembler none'none'が含まれます.これは、デフォルトの動作を復元することを意味します.すなわち、ファイルの拡張子に基づいてソースファイルの言語を推測する
-g、-f、-m、-O、-Wまたは--paramで始まるオプションは、gccによって呼び出された異なるサブプロセスに自動的に渡されます.これらのプロセスに他のオプションを渡すには、-Wオプションを使用する必要があります.
 
使い方のヘルプを入力すると、たくさんのパラメータが出てきます.他は見ないでください.-print-libgcc-file-nameはコンパイラに伴うライブラリの名前を示しています.一般的にコンパイラはありません.多くの問題が発生しています.
 x@x-VirtualBox ~/   $ gcc --print-libgcc-file-name
/usr/lib/gcc/x86_64-linux-gnu/4.6/libgcc.a

libgccがなければa、おめでとうございます.libgccをインストールする必要があります.a、さもないと多くの問題に直面します.それから、次に、見てみましょう.
-print-search-dirsコンパイラの検索パスを表示
x@x-VirtualBox ~/   $ gcc --print-search-dirs

このオプションを入力すると、プログラムとライブラリがどこにあるかがわかります.
  :/usr/lib/gcc/x86_64-linux-gnu/4.6/
  :=/usr/lib/gcc/x86_64-linux-gnu/4.6/:/usr/lib/gcc/x86_64-linux-gnu/4.6/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.6/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../x86_64-linux-gnu/bin/x86_64-linux-gnu/4.6/:/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../x86_64-linux-gnu/bin/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../x86_64-linux-gnu/bin/
 :=/usr/lib/gcc/x86_64-linux-gnu/4.6/:/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/4.6/:/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../x86_64-linux-gnu/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/4.6/:/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../lib/:/lib/x86_64-linux-gnu/4.6/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/4.6/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../x86_64-linux-gnu/lib/:/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../:/lib/:/usr/lib/

--versionコンパイラバージョン情報を表示
x@x-VirtualBox ~/   $ gcc --version

gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3-dumpversionコンパイラのバージョン番号を表示
x@x-VirtualBox ~/   $ gcc -dumpversion

4.6-dumpmachineディスプレイコンパイラのターゲットプロセッサ
x@x-VirtualBox ~/   $ gcc -dumpmachine

x86_64-linux-gnu/*私は仮想マシンなので、もし違うならば、自分のマシンを信じます*/
-dumpspecsは、すべての組み込みspec文字列を表示します.
この内蔵spec文字列をテーマにして説明します