![]() |
|
Модераторы: bsa |
![]()
|
|
| asmdzen |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 28.11.2010 Репутация: 3 Всего: 5 |
в общем нужны переменные типа DWORD, как оказалось DWORD на самом деле это unsigned int, есть какие-то гарантии что sizeof(DWORD) всегда будет 4?
в общем вопрос мне кажется простым ) но ответа дать не могу. если коротко то я просто хочу без глюков пере компилировать программу для 64 бит. |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
со стороны языка таких гарантий нет |
|||
|
||||
| asmdzen |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 28.11.2010 Репутация: 3 Всего: 5 |
так что мне стоит за typedef'ить чтоб получить тип из 4 байт?
|
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
просто юзать нужно стандартные типы, типа тех что в cstddef
|
|||
|
||||
| asmdzen |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 28.11.2010 Репутация: 3 Всего: 5 |
поскольку я его долго найти не мог, а когда нашел то не увидел ничего конкретного, можете просто сказать как выбрать тип который всегда будет размером в 4 байта?
|
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
std::int32_t;
std::uint32_t; Добавлено через 8 минут и 12 секунд т.е. cstdint Добавлено через 12 минут и 32 секунды лучше, конечно, если ты прочтешь топик по теме: http://forum.vingrad.ru/forum/topic-290012.html |
|||
|
||||
| asmdzen |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 28.11.2010 Репутация: 3 Всего: 5 |
т.е. это гарантирует что к примеру int8_t (который на самом деле char) будет иметь длину в 8 бит для любого компилятора? у меня сейчас так: typedef unsigned int u32; мне нужна гарантия что этот u32 действительно будет 32-х битным типом когда я перекомпилирую под 64 битную систему. Добавлено через 8 минут и 34 секунды не заметил, будем посмотреть, спасибо. |
|||
|
||||
| phprus |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 22.8.2006 Репутация: нет Всего: 3 |
asmdzen
В разных компиляторах/архитектурах эти типы могут быть определены по разному, для гарантий размера. |
|||
|
||||
| asmdzen |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 28.11.2010 Репутация: 3 Всего: 5 |
||||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |