欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

判斷Unix系統(tǒng)及庫文件是32位還是64位的詳解

 更新時(shí)間:2016年11月29日 15:32:46   投稿:lqh  
這篇文章主要介紹了判斷Unix系統(tǒng)及庫文件是32位還是64位的的相關(guān)資料,這里整理下查看系統(tǒng)位數(shù)的命令,需要的朋友可以參考下

判斷Unix系統(tǒng)及庫文件是32位還是64位的詳解

一、查看系統(tǒng)32還是64位系統(tǒng)

bootinfo -y    查看硬件位數(shù)
bootinfo -K   查看內(nèi)核位數(shù)

二、查看庫文件是32位還是64位

1、使用file命令

Linux:

# file libnss1_files-2.2.4.so 
libnss1_files-2.2.4.so: ELF 32-bit LSB shared object, Intel 80386, version 1, not stripped 
# file libtrsbean.so 
libtrsbean.so: ELF 64-bit LSB shared object, version 1, not stripped

AIX:32位的沒有說明

#file /usr/ccs/lib/mcrt0.o 
/usr/ccs/lib/mcrt0.o:  executable (RISC System/6000) or object module not stripped
#file /usr/ccs/lib/mcrt0_64.o 
/usr/ccs/lib/mcrt0_64.o:    64-bit XCOFF executable or object module not stripped

Solaris:

# file libmp.so 
libmp.so:    ELF 32-位 MSB 動態(tài)庫 SPARC 版本 1,動態(tài)鏈接,沒有除去

2、通過二進(jìn)制查看命令od查看相關(guān)的庫文件也可以解決此問題,但難度大,也不保險(xiǎn)。下面給出在不同系統(tǒng)中的結(jié)果,以供參考(由于只在某一版本的操作系統(tǒng)下面做的測試,下面的結(jié)果不可能適應(yīng)所有的所有版本的系統(tǒng))

Linux


32位第4段是0101;64位第4段是0102  
 -h 表示按16進(jìn)制2字節(jié)整數(shù)查看,整數(shù)高低位也調(diào)整了(如7f45變成457f); -N 10 表示查看10個字節(jié)
#od -h -N 10 32.so 
   0000000 457f 464c 0101 0001 0000
#od -h -N 10 64.so 
   0000000 457f 464c 0102 0001 0000

Solaris

和Linux差不多,只是Linux的 -h 參數(shù)變成 -x。另外顯示結(jié)果也不太一樣,Solaris是按照字節(jié)順序顯示的,Linux是按照16進(jìn)制2字節(jié)整數(shù)查看,會把高低位調(diào)整了。

#od -x -N 10 32.so      
   0000000 7f45 4c46 0101 0100 0000
#od -x -N 10 64.so      
   0000000 7f45 4c46 0102 0100 0000

AIX

32位是01df ;64位是01f7

#od -N 10 -h crt0_r.o 
   0000000 01df 0003 3d65 462a 0000
#od -N 10 -h mcrt0_64.o 
   0000000 01f7 0003 3fe2 7fd5 0000

 HP Unix

沒有實(shí)際操作,只是通過UltraEdit打開兩個文件xxx32.sl和xxx64.sl并比較前面幾個字節(jié)(惠普庫文件是.sl結(jié)尾不是.so結(jié)尾的)。發(fā)現(xiàn)64位的文件和Linux/Solaris的類似。

02 10 01 0e 05 12 40
7f 45 4c 46 02 02 01

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

最新評論