2011-9-4
在ubuntu(目前我的版本是9.04)下檢視系統所安裝的包:dpkg -l
redhat 下檢視系統所安裝的包用: rpm -qa
2011-9-21
輸入ld --verbose | grep search
將顯示當前搜尋路徑和順序。要顯示ld連線的是哪些檔案,可以編譯乙個偽(dummy)程式並把--verbose
引數傳遞給聯結器。例如,輸入gcc dummy.c -wl,--verbose 2>&1 | grep succeeded
將顯示所有連線過程中成功開啟的檔案。
gcc 的配置指令碼並不是搜尋 path 裡的目錄來尋找要使用哪個工具的,而且,在gcc的實際操作中, 不必使用相同的搜尋路徑。 要知道gcc會使用哪個標準聯結器,請執行命令:gcc -print-prog-name=ld
。
在編譯乙個偽程式的時候,給gcc命令傳遞 -v 選項可以獲得詳細的資訊。舉個例子:gcc -v dummy.c
將顯示在預處理、編譯和彙編各個階段的詳細資訊,包括gcc檔案包含的搜尋路徑及其順序。
dummy.c : void main(){}
xgy@ubuntu:~/tmp$ gcc -v dummy.c
using built-in specs.
target: i486-linux-gnu
configured with: ../src/configure -v --with-pkgversion='ubuntu 4.3.3-5ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.3/readme.bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-targets=all --with-tune=generic --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
thread model: posix
gcc version 4.3.3 (ubuntu 4.3.3-5ubuntu4)
collect_gcc_options='-v' '-mtune=generic'
/usr/lib/gcc/i486-linux-gnu/4.3.3/cc1 -quiet -v dummy.c -d_fortify_source=2 -quiet -dumpbase dummy.c -mtune=generic -auxbase dummy -version -fstack-protector -o /tmp/cchsoj5f.s
ignoring nonexistent directory "/usr/local/include/i486-linux-gnu"
ignoring nonexistent directory "/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../i486-linux-gnu/include"
ignoring nonexistent directory "/usr/include/i486-linux-gnu"
#include "..." search starts here:
#include <...> search starts here:
/usr/local/include
/usr/lib/gcc/i486-linux-gnu/4.3.3/include
/usr/lib/gcc/i486-linux-gnu/4.3.3/include-fixed
/usr/include
end of search list.
gnu c (ubuntu 4.3.3-5ubuntu4) version 4.3.3 (i486-linux-gnu)
compiled by gnu c version 4.3.3, gmp version 4.2.4, mpfr version 2.4.0.
ggc heuristics: --param ggc-min-expand=64 --param ggc-min-heapsize=63688
compiler executable checksum: 0bf5703b57e064ca90b48f4e2c186f4a
collect_gcc_options='-v' '-mtune=generic'
as -v -qy -o /tmp/cccfknmd.o /tmp/cchsoj5f.s
gnu assembler version 2.19.1 (i486-linux-gnu) using bfd version (gnu binutils for ubuntu) 2.19.1
compiler_path=/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/:/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/:/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/
library_path=/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/4.3.3/:/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../:/lib/:/usr/lib/
collect_gcc_options='-v' '-mtune=generic'
/usr/lib/gcc/i486-linux-gnu/4.3.3/collect2 --eh-frame-hdr -m elf_i386 --hash-style=both -dynamic-linker /lib/ld-linux.so.2 -z relro /usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/crt1.o /usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/crti.o /usr/lib/gcc/i486-linux-gnu/4.3.3/crtbegin.o -l/usr/lib/gcc/i486-linux-gnu/4.3.3 -l/usr/lib/gcc/i486-linux-gnu/4.3.3 -l/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib -l/lib/../lib -l/usr/lib/../lib -l/usr/lib/gcc/i486-linux-gnu/4.3.3/../../.. /tmp/cccfknmd.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/i486-linux-gnu/4.3.3/crtend.o /usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/crtn.o
/usr/lib/gcc/i486-linux-gnu/4.3.3/../../../../lib/crt1.o: in function `_start':
/build/buildd/glibc-2.9/csu/../sysdeps/i386/elf/start.s:115: undefined reference to `main'
collect2: ld returned 1 exit status
linux檔案查詢命令find,xargs詳述
Linux 學習雜記
3 ubuntu 下的dpkg命令 dpkg命令的使用 dpkg l 檢視當前系統中已經安裝的軟體包的資訊 dpkg l 軟體包名稱 檢視系統中已經安裝的軟體檔案的詳細列表 dpkg s 檢視已經安裝的指定軟體包的詳細資訊 dpkg s 檢視系統中的某個檔案屬於那個軟體包 dpkg i deb檔案的...
Fortran學習雜記 一
1.內建函式 1 數值運算 常見 abs aimag conj max min mod a,b real cmplx a,b 2 學函式 命名類似matlab sin asin cos acos tan atan log sinh cosh tanh sqrt 3 陣列函式 matmul 矩陣相乘 ...
Linux下網路程式設計學習雜記
1.tcp ip協議的體系結構包含四層 應用層 負責應用程式的網路服務,通過埠號識別各個不同的程序 傳輸層 傳輸控制層協議tcp 使用者資料報協議udp 網際網路控制訊息協議icmp 網路層 網路介面層 負責將二進位制流轉換成資料幀,並進行資料幀的傳送和接收 硬體層。2.伺服器是指能在網路上提供服務...