ubuntu C++ 編碼調試相關

g++ -g爲了調試用的

加個-g 是爲了gdb 調試用


g++   -I  尋找頭文件選項  (linux默認路徑:頭文件在/usr/include/下),不在這個路徑下就要用-I指定。

              gcc  foo.cpp  -I/home/include/   -o  foo

         -L   庫依賴選項       (linux默認路徑:庫文件在/usr/lib/下),不在這個路徑下就要用-L指定。

                g++  foo.cpp  -L/home/lib/  -lfoo  -o   foo

               庫就是將源文件編譯之後生成的目標文件的集合。

               庫命名以lib開頭。

                庫有靜態庫(通常以.a結尾)和動態庫(通常以.so結尾)

                默認情況下,g++以動態庫形式連接。如果要靜態庫連接則要用-static指定(g++ foo.cpp  -L/home/lib/  -static  -lfoo  -o  foo)

          -IDIRECTORY 指定額外的頭文件搜索路徑DIRECTORY。 
          -LDIRECTORY 指定額外的函數庫搜索路徑DIRECTORY。   
          -lLIBRARY 連接時搜索指定的函數庫LIBRARY。

    直接跟 沒有空格!

比如用到protobuf的頭文件和庫文件:

g++ -0 xxx xxxxx.cpp  -I~/protobuf_install/include  -L~/protobuf_install/lib  -lprotobuf

 

-M 
  生成文件關聯的信息。包含目標文件所依賴的所有源代碼你可以用gcc -M hello.c 
來測試一下,很簡單。  

-MM 

  和上面的那個一樣,但是它將忽略由#include<file>造成的依賴關係。  

-MD 

  和-M相同,但是輸出將導入到.d的文件裏面 
-MMD 
  和-MM相同,但是輸出將導入到.d的文件裏面 
   

 ldd命令用於打印程序或者庫文件所依賴的共享庫列表。

來自: http://man.linuxde.net/ldd

 

 

eclipse c++ 插件地址:

http://download.eclipse.org/tools/cdt/releases/kepler/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章