Skocz do zawartości
Megabyte

C++ i 64bit

Rekomendowane odpowiedzi

Jak wiadomo wielkosc zmiennej typu int jest zależna od kompilatora. Czyli po skompilowaniu programu typowo pod Athlona64 zmienne typu int beda mialy 64bity? Dobrze myśle? W takim razie jak zadeklarować zmienna żeby niezależnie od kompilatora miała 32bit? long?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

O ile dobrze pamiętam to int zajmuje 2 bajty więc po skompilowaniu na 64-bitowym procku dalej będzie zajmować 2 bajty. Chyba że sie mylę :)

Int zajmuje 2 bajty ale tylko po skompilowaniu pod środowisko 16bitowe. Kompilując w Visual C++ albo Builderze pod Win32 int ma 4 bajty. Tak więc analogicznie do tego int pod AMD64 powinien mieć 64bity. Ale nie jestem pewien jak to w rzeczywistości jest bo to zależy od twórców kompilatora. Może jest ktoś na forum kto będzie wiedział więcej na ten temat.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

-m32  

-m64  

Generate code for a 32-bit or 64-bit environment. The 32-bit environment sets int, long and pointer to 32 bits and generates code that runs on any i386 system. The 64-bit environment sets int to 32 bits and long and pointer to 64 bits and generates code for AMD's x86-64 architecture.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...