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

  • DigitalRev TV

    DigitalRev T

    30 AĞUSTOS 2007
  • Julia Graf

    Julia Graf

    6 Mayıs 2006
  • The Pet Collective

    The Pet Coll

    5 Ocak 2012