簡體   English   中英

如何知道libpython27.a是32位還是64位?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM