在多執行緒程式設計中,我們用gcc -wall -g -lpthread log.h log.c list.c list.h server.c -o server.exe編譯的時候,我們會加上乙個-lpthread,表示要用到gcc預設路徑之外的庫,但是這個庫檔案在**呢?我們可以用ldd命令來看。
比如 bard@bard-desktop:~/sharing$ ldd server.exe
linux-gate.so.1 => (0x001f7000)
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0x00713000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x008a3000)
/lib/ld-linux.so.2 (0x00a7a000)
bard@bard-desktop:~/sharing$
我們就可以看到這些庫了,原來pthread 庫是/lib/tls/i686/cmov/libpthread.so.0在這裡,呵呵。 檢視乙個可執行檔案或者庫的依賴庫
經常需要檢視乙個可執行檔案或者庫依賴那些庫檔案。通常情況下這很好辦,使用ldd命令就可以了,比如 1 2 3 4 5 6 ldd bin bash linux vdso.so.1 0x00007ffd8ffef000 libtinfo.so.5 lib x86 64 linux gnu libtin...
檢視乙個可執行檔案或者庫的依賴庫
經常需要檢視乙個可執行檔案或者庫依賴那些庫檔案。通常情況下這很好辦,使用ldd命令就可以了,比如 1 2 3 4 5 6 ldd bin bash linux vdso.so.1 0x00007ffd8ffef000 libtinfo.so.5 lib x86 64 linux gnu libtin...
linux 執行可執行檔案
1 首先,需要了解一下a.out這個目標檔案。a.out在linux下是elf executable linkable format 檔案格式,該目標檔案由乙個檔案頭 段 資料段 已初始化 從定位資訊區 符號表及符號名字字串構成,如下左圖所示,經過鏈結後生成執行檔案如下右圖所示,需要說明的是1 bs...