"Uzun süre" kullanamıyorum; ne kullanmalıyım?64 bit CPU üzerinde C++ Mac OS X'te 64 bitlik bir tür var mı?
cevap
Snow Leopard (Mac OS X 10.6.2 - Intel) varsayarsak, 'uzun' varsayılan derleyici ile 64 bittir.
'g ++ -m64' belirtin ve büyük olasılıkla önceki sürümlerde 64 bit olacaktır.
1 = sizeof(char)
1 = sizeof(unsigned char)
2 = sizeof(short)
2 = sizeof(unsigned short)
4 = sizeof(int)
4 = sizeof(unsigned int)
8 = sizeof(long)
8 = sizeof(unsigned long)
4 = sizeof(float)
8 = sizeof(double)
16 = sizeof(long double)
8 = sizeof(size_t)
8 = sizeof(ptrdiff_t)
8 = sizeof(time_t)
8 = sizeof(void *)
8 = sizeof(char *)
8 = sizeof(short *)
8 = sizeof(int *)
8 = sizeof(long *)
8 = sizeof(float *)
8 = sizeof(double *)
8 = sizeof(int (*)(void))
8 = sizeof(double (*)(void))
8 = sizeof(char *(*)(void))
ile test edilmiştir:
i686-apple-darwin10-g++-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5646) (dot 1) Copyright (C) 2007 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.seçenek
-std=c99
ile Mac OS X 10.7.5 üzerinde GCC 4.7.1 ile derleniyor, programdan çıkış daha geniş kapsamlıdır.
apalopohapa'a,
long long
vb. Belgelerin orijinalinden eksik gözüktüğü için teşekkür ederiz.
1 = sizeof(char)
1 = sizeof(unsigned char)
2 = sizeof(short)
2 = sizeof(unsigned short)
4 = sizeof(int)
4 = sizeof(unsigned int)
8 = sizeof(long)
8 = sizeof(unsigned long)
4 = sizeof(float)
8 = sizeof(double)
16 = sizeof(long double)
8 = sizeof(size_t)
8 = sizeof(ptrdiff_t)
8 = sizeof(time_t)
8 = sizeof(long long)
8 = sizeof(unsigned long long)
8 = sizeof(uintmax_t)
1 = sizeof(int8_t)
2 = sizeof(int16_t)
4 = sizeof(int32_t)
8 = sizeof(int64_t)
1 = sizeof(int_least8_t)
2 = sizeof(int_least16_t)
4 = sizeof(int_least32_t)
8 = sizeof(int_least64_t)
1 = sizeof(int_fast8_t)
2 = sizeof(int_fast16_t)
4 = sizeof(int_fast32_t)
8 = sizeof(int_fast64_t)
8 = sizeof(uintptr_t)
8 = sizeof(void *)
8 = sizeof(char *)
8 = sizeof(short *)
8 = sizeof(int *)
8 = sizeof(long *)
8 = sizeof(float *)
8 = sizeof(double *)
8 = sizeof(int (*)(void))
8 = sizeof(double (*)(void))
8 = sizeof(char *(*)(void))
1 = sizeof(struct { char a; })
2 = sizeof(struct { short a; })
4 = sizeof(struct { int a; })
8 = sizeof(struct { long a; })
4 = sizeof(struct { float a; })
8 = sizeof(struct { double a; })
16 = sizeof(struct { char a; double b; })
16 = sizeof(struct { short a; double b; })
16 = sizeof(struct { long a; double b; })
4 = sizeof(struct { char a; char b; short c; })
16 = sizeof(struct { char a; char b; long c; })
4 = sizeof(struct { short a; short b; })
6 = sizeof(struct { char a[3]; char b[3]; })
8 = sizeof(struct { char a[3]; char b[3]; short c; })
16 = sizeof(struct { long double a; })
32 = sizeof(struct { char a; long double b; })
16 = sizeof(struct { char a; long long b; })
16 = sizeof(struct { char a; uintmax_t b; })
Ayrıca,
int64_t * at al * aslında
adresinde yer almaktadır. Gönderdiğiniz tabloya güvenmek kötü bir öneridir. 64 bit istiyorsanız, 'int64_t' kullanın. Bir sebepten dolayı standart. – asveikau
dahil <stdint.h>
veya <inttypes.h>
(bundan sonra daha fazla derleyici üzerinde bulunan, ancak hem Apple derleyici tarafından sağlanır) ve uint64_t
ve int64_t
kullanın. Hem 32 bit hem de 64 bit hedeflerde 64 bit.
- 1. 64 bit işlemcinin avantajları nelerdir?
- 2. 64 bit üzerinde uint32_t hizalaması?
- 3. Microsoft.Office.Interop.Excel, 64 bit
- 4. Windows 64 bit üzerinde cmake nasıl kurulur
- 5. 64-bit Windows'da 32 ve 64 bit birlikte çalışabilirlik
- 6. PrintDialog neden görüntülenmiyor (64 bit)?
- 7. C 64-bit İşaretçi Hizalama
- 8. C# 64 bit sistemde user32.dll kullanıcısı
- 9. 64-bit pencere montajcısı
- 10. Her zaman 32 bit ve 64 bit makinede 64 bit
- 11. JavaScript'te 32 bitlik veya 64 bit uzunluğunun uygulanması?
- 12. Machine.config'in 64 bit sürümünü alma
- 13. Bir uygulamanın 32 veya 64 bit sürümünü,
- 14. Windows 7 64 bit
- 15. Visual Studio 64 bit?
- 16. Nasıl 32 bit C# uygulaması bir 64 bit DLL kullanabiliyor
- 17. Sadece eski bir işletim sistemi sürümünde 32 bit çalıştırmak için Mac OS X 32/64 bit evrensel ikili zorlar mı?
- 18. Java performansı 64 bit
- 19. 64 bit pencerelerde DirectX uygulaması
- 20. 64 bit ortamda 32 bit OS X ikili dosyalarını derleme
- 21. Installshield 64 bit proje ayarları
- 22. SWT, Windows 64 bit
- 23. 32 bit mimarilerde 64 bit işlenen üzerinde işlemler?
- 24. Intellij idea 32 bit vs 64 bit hız ve performans
- 25. 64 bit makinede 64 bit olarak bir C++ programı nasıl derlenir?
- 26. Mac App Store uygulamalarının yalnızca 64 bitlik bir derleme oluşturması uygun mu?
- 27. 64-bit bir makinede 32-bit C# uygulaması çalıştırılıyor
- 28. Bir 32 bit programında 64 bit sürücü kullanılması. Windows
- 29. 64 bit makinede yakalanan 32 bit işlemin hata ayıklama dökümü
- 30. Golang MSSQL sürücüsü 64-bit
Neden uzun uzun kullanmıyorsunuz? Derleyiciniz desteklemiyor mu? –
Hangi derleyiciyi kullanıyorsunuz? – Cameron
Darwin/MacOSX, int64_t gibi sabit boyutlu tamsayı tiplerini destekliyor mu? Eğer öyleyse, bunları kullanırdım. Ayrıntılar için http://www.opengroup.org/onlinepubs/000095399/basedefs/stdint.h.html adresini ziyaret edin. – Void