[英]How to know whether libpython27.a is 32-bit or 64-bit?
我有一個libpython27.a
文件:在Windows 7 x64上如何知道它是32位還是64位?
嘗試dumpbin /headers "libpython27.a"
。 ( dumpbin參考 )
輸出將包含
FILE HEADER VALUES 14C machine (x86)
要么
FILE HEADER VALUES 8664 machine (x64)
請注意,如果您收到如下錯誤消息:
E:\temp>dumpbin /headers "libpython27.a"
LINK: extra operand `libpython27.a'
Try `LINK --help' for more information.
這意味着在搜索路徑的某處有一個GNU鏈接實用程序的副本。 確保使用正確的link.exe
(例如,在C:\\Program Files (x86)\\Common Files\\Microsoft\\Visual C++ for Python\\9.0\\VC\\bin
)。 它還需要mspdb80.dll
,它位於同一文件夾或PATH中的某些內容中,否則您將收到錯誤消息:
在終端/命令行中啟動Python解釋器時,您可能還會看到如下行:
win32上的Python 2.7.2(默認,2011年6月12日,14:24:46)[MSC v.1500 64位(AMD64)]
其中[MSC v.1500 64 bit(AMD64)]意味着64位Python。
要么
嘗試使用ctypes來獲取void指針的大小:
import ctypes
print ctypes.sizeof(ctypes.c_voidp)
32位為4或64位為8。
在Linux上,您可以使用: objdump -a libpython27.a|grep 'file format'
。
例:
f@f-VirtualBox:/media/code$ objdump -a libpython27.a|grep 'file format'
dywkt.o: file format pe-i386
dywkh.o: file format pe-i386
dywks01051.o: file format pe-i386
dywks01050.o: file format pe-i386
dywks01049.o: file format pe-i386
dywks01048.o: file format pe-i386
[...]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.