linux elf命令,linux strings 命令——ELF文件格式与“链接和装载”
一 string命令詳解 string命令主要用來(lái)查看非文本式的文件中的ASCII字符串——當(dāng)然, 也可以查看文本形式的文件對(duì)應(yīng)字符串。命令的使用形式如下: [22:41huangyk@leetcode]$strings -a numDistinct | grep lib /lib64/ld-linux-x86-64.so.2 libstdc.so.6 lib
一 string命令詳解
string命令主要用來(lái)查看非文本格式的文件中的ASCII字符串——當(dāng)然, 也可以查看文本形式的文件對(duì)應(yīng)字符串。命令的使用形式如下:
[22:41huangyk@leetcode]$>strings -a numDistinct | grep lib
/lib64/ld-linux-x86-64.so.2
libstdc++.so.6
libm.so.6
libgcc_s.so.1
libc.so.6
__libc_start_main
/usr/local/gcc4.8.3/lib/gcc/x86_64-unknown-linux-gnu/4.8.3/include
libio.h
cstdlib
stdlib.h
__libc_csu_fini
__libc_start_main@@GLIBC_2.2.5
__libc_csu_init
其中,numDistinct是可執(zhí)行文件。默認(rèn)情況下,打印初始化節(jié)和可裝載字節(jié),加入-a參數(shù)之后,將會(huì)打印所有段。
二、ELF文件和鏈接裝載
在有些情況下,我們的系統(tǒng)上可能同時(shí)存在多個(gè)GCC編譯而成的ELF文件版本。此時(shí),如果運(yùn)行程序很容易出現(xiàn)問(wèn)題“/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found 解決方法“,關(guān)于這個(gè)問(wèn)題的解答,我們可以參考另外鏈接對(duì)應(yīng)的blog。這里,我們討論一個(gè)問(wèn)題:
一個(gè)ELF文件格式,如何知道需要用哪個(gè)連接器和哪個(gè)對(duì)應(yīng)版本的glibc呢?
答案:ELF文件包含很多信息,其中就有執(zhí)行這個(gè)文件需要的連接器和glibc的版本。可以用string命令查看。結(jié)果如下:
[22:52huangyk@leetcode]$>strings numDistinct | grep GLIB
GLIBC_2.2.5
GLIBCXX_3.4.5
GLIBCXX_3.4.14
GLIBCXX_3.4
總結(jié)
以上是生活随笔為你收集整理的linux elf命令,linux strings 命令——ELF文件格式与“链接和装载”的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: oracle+nvlif函数,Oracl
- 下一篇: linux 查看共享内存最大值,linu