linux學習雜記(一)

2021-05-27 23:03:07 字數 4223 閱讀 5056

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.伺服器是指能在網路上提供服務...