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

  • CruzerLite

    CruzerLite

    1 EKİM 2011
  • DavidParody

    DavidParody

    17 EKİM 2009
  • GALERNAYA20

    GALERNAYA20

    19 NİSAN 2011