Вопрос /del

keep silence
Участник
Статус
Оффлайн
Регистрация
17 Дек 2018
Сообщения
546
Реакции[?]
201
Поинты[?]
0
/del
 
Последнее редактирование:
Эксперт
Статус
Оффлайн
Регистрация
31 Авг 2018
Сообщения
1,792
Реакции[?]
1,073
Поинты[?]
29K
Всем привет. Смотря туеву хучу гайдов и сурсов экстерналов заметил, что в некоторых ситуациях вместо DWORD localPlayer'а используется его uintptr_t'овый аналог. Так вот, зачем нам два "одинаковых" localPlayer'а только в разных "переменных"?
DWORD всегда размером в 4 байта
uintptr_t же в зависимости от того, под какую целевую платформу компилируешь - может быть размером 4 байта или 8 байтов
 
Забаненный
Статус
Оффлайн
Регистрация
2 Мар 2021
Сообщения
1,083
Реакции[?]
406
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
тоже самое что разница межежду int и INT
 
Keine panik!
Эксперт
Статус
Оффлайн
Регистрация
29 Апр 2020
Сообщения
812
Реакции[?]
417
Поинты[?]
49K
Всем привет. Смотря туеву хучу гайдов и сурсов экстерналов заметил, что в некоторых ситуациях вместо DWORD localPlayer'а используется его uintptr_t'овый аналог. Так вот, зачем нам два "одинаковых" localPlayer'а только в разных "переменных"?
DWORD - это тип исключительно виндовый, он всегда занимает 4 байта (32-бита) на 32 и 64-битной винде, при этом беззнаковый и используется много для чего в винде, но только в ней.
uintptr_t - это тип из C++, он кроссплатформенный, он такого же размера что и указатель 4 байта на 32-бит и 8 байт на 64-бит, этот тип используется для хранения и арифметики адресов.
Ксго же пока только 32-битная, поэтому все прокатывает, но более корректно использовать uintptr_t, т.к. он имеет размер адреса и будет работать и для 64-бит, и он кроссплатформенный, т.е. например портировать софт под линукс будет проще.
 
Похожие темы
Ответы
9
Просмотры
330
Ответы
0
Просмотры
114
Ответы
0
Просмотры
134
Ответы
0
Просмотры
255
Сверху Снизу