Linux GCCコマンドメモ

1446 ワード

hellodev-Linux GCC共通コマンド
概要
gcc(GNU-C-Compiler)は、c言語に限らずC+JAVAOBJECIVE CPASCALなどをサポートし、GNU Complier Collection、すなわちGNUコンパイラファミリーとなっている.
いくつかの簡単な命令
gcc hello.c -o hello
             4   
gcc -E hello.c -o hello.i //1、   
gcc -S hello.i -o hello.s //2、  (      )
gcc -c hello.s -o hello.o //3、  
gcc hello.o -o hello      //4、  
    ,          
gcc hello1.c hello2.c -o hello

エラーの検出
gcc -pedantic hello.c -o hello//       ANSI/ISO     
gcc -Wall hello.c -o hello    //          
gcc -Werror hello.c -o hello  //       ,    

ライブラリファイルリンク
ライブラリファイルリンクは、必要なライブラリファイルのincludeファイルディレクトリとlibファイルディレクトリを知る必要があります.
gcc –c –I include     hello.c –o hello.o//        
gcc -L lib     -   hello.o -o hello//  

ファイルリンクには2種類のタイプがあります
  • ダイナミックリンクライブラリ(.so末尾):実行時ダイナミックロード
  • 静的リンクライブラリ(.a末尾):コンパイル時静的ロード
  • 静的ライブラリリンク時のパスの検索順序:
  • ldはGCCコマンドのパラメータ-L
  • を探します
  • またgccの環境変数LIBRARYを探しますPATH
  • 内定ディレクトリ/lib/usr/lib/usr/local/libこれは当初compile gccの時にプログラム内に書いた
  • です.
    動的リンク時、実行時のパスの検索順序:
  • ターゲットコードのコンパイル時に指定する動的ライブラリ探索パス
  • 環境変数LD_LIBRARY_PATH指定動的ライブラリ探索経路
  • プロファイル/etc/ld.so.confで指定されたダイナミックライブラリ検索パス
  • デフォルトのダイナミックライブラリ検索パス/lib
  • デフォルトのダイナミックライブラリ検索パス/usr/lib
  • 環境変数について:LIBRARY_PATH環境変数:プログラム静的リンクライブラリファイル検索パスLD_を指定するLIBRARY_PATH環境変数:プログラム動的リンクライブラリファイル検索パスを指定する
    reference
    hellodev-Linux GCC共通コマンド