![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
mant |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 29.6.2004 Репутация: нет Всего: нет |
Здраствуйте.
Есть такой вот глюк: struct str_ { WORD x; DWORD y; }; int s = sizeof(str_); Builder c++ 6. Значение s вместо положенных 6 равно 8. Что вы скажите по этому поводу господа? |
|||
|
||||
Guest |
|
|||
Unregistered |
что все нормально.
нужно внимательно прочитать что делает structure member's alignment. в приведенном случае sizeof( str_ ) = sizeof( word )+sizeof(dword) |
|||
|
||||
Borisff2003 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 198 Регистрация: 26.2.2004 Где: г. Уфа Репутация: 1 Всего: 1 |
По моему данный вопрос обсуждался уже со всех сторон.
Тебе сюда http://forum.vingrad.ru/index.php?showtopic=24425 --------------------
Лень, двигатель прогресса |
|||
|
||||
mant |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 29.6.2004 Репутация: нет Всего: нет |
Спасибо за thread
![]() Постараюсь разобраться. |
|||
|
||||
sl |
|
|||
Unregistered |
Это все из-за выравнивая.По умлчю выравнивание по двойному слову.То есть
struct My_struct { word x; dword y; }; В ОП будет переменная этого типа занимать 8 байт.Выравнивание можно изменить, но программа будет работать медленние. |
|||
|
||||
knave |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 320 Регистрация: 6.3.2003 Где: Санкт-Питербург ( Россия) Репутация: 1 Всего: 5 |
#pragma pack(1) - выравнивать до 1-го байта
#pragma pack(2) - выравнивать до 2-х байта #pragma pack(4) - выравнивать до 4-х байта -------------------- С наилучшими пожеланиями !!! |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |