![]() |
|
![]() ![]() ![]() |
|
onetimer |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 30.5.2006 Репутация: нет Всего: нет |
Есть типы:
Использую #pragma option -a1 Проблема в том, что мне СОВЕРШЕННО необходимо поместить это в 4 байта, а зараза билдер делает 6: сует [C++ Warning] : W8059 Structure packing size has changed. На основании "According to the C and C++ language specifications, the alignment and storage of bit fields is implementation defined. Therefore, compilers can align and store bit fields differently. If you want complete control over the layout of bit fields, it is advisable to write your own bit field accessing routines and create your own bit fields." считает себя правым. Есть советы? Предложения? |
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 7 Всего: 118 |
делай так и не парься:
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
onetimer |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 30.5.2006 Репутация: нет Всего: нет |
Совершенно глупый совет, извините!
Это сообщение отредактировал(а) onetimer - 22.4.2008, 23:08 |
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 7 Всего: 118 |
и чего не так?!
http://ipicture.ru/uploads/080423/MVhynWgxxA.png если вы будете внимательными, то может заметите что я заменл структуру объединением. Это сообщение отредактировал(а) jonie - 23.4.2008, 00:23 -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
onetimer |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 30.5.2006 Репутация: нет Всего: нет |
и это об'единило все битовые поля! Потому я и привел фрагмент кода, чтобы Вы сами могли убедиться!
|
|||
|
||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 32 Всего: 158 |
|
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 7 Всего: 118 |
а ну да, я идиот, признаю.
в любом случае pragma pack(1)+правильное использование битовых масок (), по идее работать должно... -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
onetimer |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 30.5.2006 Репутация: нет Всего: нет |
dumb вариант не работает.
Еще идеи? Это сообщение отредактировал(а) onetimer - 23.4.2008, 16:17 |
|||
|
||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 32 Всего: 158 |
||||
|
||||
onetimer |
|
||||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 30.5.2006 Репутация: нет Всего: нет |
Не работает: можете убедиться самостоятельно.
Совершенно не согласен ни с тем ни с другим. |
||||
|
|||||
Rififi |
|
||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: 1 Всего: 36 |
onetimer,
откомпилировал этот код на древнем VC 6.0 sp6
выхлоп:
отсюда вывод про борланд: "ну не шмогла я, не шмогла..." |
||||
|
|||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 7 Всего: 118 |
onetimer вариант dump отработал у меня не совсем норм. builder6 (вывел 4,300,5)
вообще корректнее пихать все поля в DWORD... и делать битовые поля "из этого типа"... в общем-то можно написать свой класс обертуку на DWORD-ом) уж если это не заработает разбить монитор... Это сообщение отредактировал(а) jonie - 23.4.2008, 23:21 -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
onetimer |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 30.5.2006 Репутация: нет Всего: нет |
Только BCB6. VC в любом соусе, пожалуйста, не предлагать ![]() jonie, как я могу получить (вывел 4,300,5)? Я был бы рад! Нельзя ли выложить весь проект? У меня размер 6 байт. Могу добиться и 8 ![]() Класс сделать можно и, скорее всего, нужно, но пока пытаюсь без, по-простому. Через DWORD дурной стиль - поля могут и будут меняться. |
|||
|
||||
Rififi |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: 1 Всего: 36 |
onetimer,
не будем. ведь так интересно и весело наблюдать за мучениями борландятников :grin: |
|||
|
||||
onetimer |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 30.5.2006 Репутация: нет Всего: нет |
Если долго мучиться - что-нибудь получится! Может быть ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |