SORU
10 EYLÜL 2009, PERŞEMBE


Nasıl python kabuk OS X 32 bit veya 64 bit modunda yürütülüyorsa belirleyebilirim?

Bir şekilde kabuk kabuk içinde ne olduğunu söylemem gerek.

Denedim bakıyor platform modül ama öyle görünüyor ki sadece söyle senin hakkında "hakkında bit mimarisi ve Bağlantı biçimi için kullanılan yürütülebilir": ikili derlenmiş olarak 64 bit (gerçi ben çalışan OS X 10.6) çok daha iyi olacak gibi görünüyor her zaman rapor 64 bit olmama rağmen kullanma yöntemleri described here zorla 32 bit modu).

CEVAP
10 EYLÜL 2009, PERŞEMBE


GÜNCELLEME: Bir şekilde here belirtildiği gibi sys.maxsize bakmak için:

$ python-32 -c 'import sys;print("%x" % sys.maxsize, sys.maxsize > 2**32)'
('7fffffff', False)
$ python-64 -c 'import sys;print("%x" % sys.maxsize, sys.maxsize > 2**32)'
('7fffffffffffffff', True)

sys.maxsize Python 2.6 tanıtıldı. Eğer eski sistemler için bir test gerekiyorsa, biraz daha karmaşık bu test tüm Python 2 ve 3 sürümleri üzerinde çalışması gerekir:

$ python-32 -c 'import struct;print( 8 * struct.calcsize("P"))'
32
$ python-64 -c 'import struct;print( 8 * struct.calcsize("P"))'
64

BTW, bu platform.architecture() kullanmak için cazip olabilir. Ne yazık ki, sonuçlar her zaman güvenilir, particularly in the case of OS X universal binaries değildir.

$ arch -x86_64 /usr/bin/python2.6 -c 'import sys,platform; print platform.architecture()[0], sys.maxsize > 2**32'
64bit True
$ arch -i386 /usr/bin/python2.6 -c 'import sys,platform; print platform.architecture()[0], sys.maxsize > 2**32'
64bit False

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • inovationgmbh

    inovationgmb

    28 EYLÜL 2010
  • jbignacio

    jbignacio

    13 Mart 2006
  • optionalinfo

    optionalinfo

    29 EKİM 2005