Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Какова разрядность int на x64?


Автор: ТарасАтавин 16.9.2013, 17:13
Как декларирован тип BOOL?

Автор: baldina 16.9.2013, 17:26
где/кем?
а посмотреть в заголовках?
это может быть int/unsigned и производные. это может быть typedef и define. какая разница...

Автор: ТарасАтавин 16.9.2013, 17:46
Цитата(baldina @  16.9.2013,  17:26 Найти цитируемый пост)
где
В Америке.
Цитата(baldina @  16.9.2013,  17:26 Найти цитируемый пост)
кем?
Мелкомягкими.

Автор: baldina 16.9.2013, 18:45
http://lmgtfy.com/?q=windows+BOOL&l=1

Автор: feodorv 16.9.2013, 18:58
Цитата(baldina @  16.9.2013,  19:45 Найти цитируемый пост)
http://lmgtfy.com/?q=windows+BOOL&l=1 

Гуглом каждый дурак может. Вы из Америки привезите smile 

Код

typedef int                 BOOL;

#ifndef FALSE
#define FALSE               0
#endif

#ifndef TRUE
#define TRUE                1
#endif

Автор: ТарасАтавин 17.9.2013, 08:27
А какова разрядность int в Windos-приладах x64? То есть следует ли сравнивать с нолём RAX, EAX, или AX? А то мне на самом деле для ASM.

Автор: bsa 17.9.2013, 10:44
ТарасАтавин, sizeof выполнить слабо?!?

Автор: ТарасАтавин 17.9.2013, 15:45
Имеющийся в наличии компилятор 32-х битный.

Автор: ТарасАтавин 17.9.2013, 17:31
Компилятора нужной разрядности не имею в наличии. Платформа Windows x64.

Автор: tzirechnoy 17.9.2013, 18:01
Цитата
Компилятора нужной разрядности не имею в наличии.


Ну так скачайте и поимейте в наличие компилятор нужной разрядности.

Или ABI amd64 почитайте -- там написано много полезного (подозреваю, что вы именно про amd64 aka ix86-64 спрашываете).

Автор: ТарасАтавин 17.9.2013, 18:08
Цитата(tzirechnoy @  17.9.2013,  18:01 Найти цитируемый пост)
Ну так скачайте и поимейте в наличие компилятор нужной разрядности.
А я, блин, попробовать не догадался. Его походу проще написать.

Добавлено через 2 минуты и 52 секунды
Цитата(tzirechnoy @  17.9.2013,  18:01 Найти цитируемый пост)
Или ABI amd64 почитайте -
А где? И при чём здесь вообще камень? Я же не про разрядность байта, слова, или шины спрашиваю, а высокоуровневого типа. А так WORD, DWORD и QWORD мне и без AMD известны. И всякие там uint8_t, uint16_t, uint32_t, uint64_t, int8_t, int16_t, int 32_t и int64_t. А вот чему равен int?

Автор: mes 17.9.2013, 18:28
Цитата(ТарасАтавин @  17.9.2013,  16:31 Найти цитируемый пост)
Какова разрядность int на x64

стандарт отмалчивается по этому поводу и  отдает все под ответсвенност компилятора.. 
обычно (из моего небольшого опыта) int остается быть равным 32битам 

Автор: ТарасАтавин 17.9.2013, 18:44
Цитата(mes @  17.9.2013,  18:28 Найти цитируемый пост)
стандарт отмалчивается по этому поводу и  отдает все под ответсвенност компилятора.. 
обычно (из моего небольшого опыта) int остается быть равным 32битам  
Хорошо, спрошу по-другому. Чему равен int в интерпретации разработчиков Winwos API x64? Вопрос связан с тем, что старшие биты оно пообещали при избытке разрядности регистров заполнять мусором: http://blogs.msdn.com/b/oldnewthing/archive/2004/01/14/58579.aspx, не расшифровав пир этом, о каком типе речь. На самом деле интересует BOOL, затайдефенный, как int.

Автор: feodorv 17.9.2013, 20:53
Цитата(ТарасАтавин @  17.9.2013,  19:44 Найти цитируемый пост)
Чему равен int в интерпретации разработчиков Winwos API x64?

http://www.viva64.com/ru/t/0026/ (http://msdn.microsoft.com/en-us/library/windows/desktop/aa384083%28v=vs.85%29.aspx)

Автор: bsa 18.9.2013, 09:44
Для Windows x64:
char - 1 байт
short - 2 байта
int - 4 байта
long - 4 байта
long long - 8 байт
size_t - 8 байт
void* - 8 байт

Автор: aleksandrkr 19.9.2013, 09:58
Смотря как компилируется приложение.
в x64 все адреса и размеры кратны 64 битам.
то есть система указывает расположение памяти кратно 64.
а как известно все адреса(указатели) у нас хранятся в Int(Long).
для чего это нужно - даёт возможность адресовать память(ОЗУ) до 16Tb или GB точно уже не помню напрямую процессором без ухитрений программиста.
вроде так.

user posted image

вот тут можно посмотреть подробнее: http://habrahabr.ru/company/pvs-studio/blog/80936/

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)