![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
AndyY |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 316 Регистрация: 8.5.2004 Где: СПб Репутация: 2 Всего: 4 |
cardinal
пробовал конечно. работает, но не всегда ![]() ![]() у меня в vc все работает. у человека глючит builder при врубленном выравнивании структур - вот и копаем, глюк кода или компилера. почитай внимательно тред. |
|||
|
||||
cardinal |
|
||||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 2 Всего: 99 |
А что именно?
А это что? Просвети плиз. -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
||||
|
|||||
AndyY |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 316 Регистрация: 8.5.2004 Где: СПб Репутация: 2 Всего: 4 |
cardinal
вспомнил. bitmapinfoheader лежит за bitmafileheader - это правда. неправда то, что за bitmapinfoheader сразу лежит диб даже при отсутствии паллитры. впрочем, hunter видно и сам разобрался с проблемой, а мне вопрос чтения дибов неинтересен - будет надо - вопросов не возникнет. |
|||
|
||||
cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 2 Всего: 99 |
Я такого не говорил. Вот структура bmp: http://www.fortunecity.com/skyscraper/wind...4/bmpffrmt.html -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
Sined |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 78 Регистрация: 19.5.2004 Репутация: 1 Всего: 0 |
Ya,Ya глюк кмопилера меняй старший-младший байт(в каждом считанном слове) местами. Если самзаголовок делал под MSVC, то такое наверняка поможет.
Это сообщение отредактировал(а) Sined - 3.6.2004, 12:58 |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
код еще не пробывал ( приду домой -- проверю ) но сразу вопрос:
bfType -- WORD, из за выравнивания он приводится к DWORD соответсвенно все следующие за ним значения плывут. даже при таком присвоении: psf = *((BMPFILEHEADER*)gbuf); два байта уйдут не по адресу ![]() я прав? -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
cardinal |
|
||||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 2 Всего: 99 |
я выше уже спрашивал, что такое выравнивание, но никто нчиего не объяснил ![]() А вообще что это такое
программируешь ты или твой компилятор? Конечно след. значения плывут если ты меняшь структуру struct. Я в шоке ![]() -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
||||
|
|||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
программирую то я
![]() выравнивание -- дополнение нулями полей стрктур до определенного размера -- 1, 2, 4, 8 байт т.е. структура {char a, WORD b} в памяти выглядит так( с выравниванием по 1): a - один байт b - два байта идут последовательно а с выравниванием 2: a - два байта b - два байта как смог -- так объяснил ![]() -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 2 Всего: 99 |
Аааа, вспомнил
![]()
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
дык это не есть правильное решение т.к. нужно править или заголовок от MS или писать свой
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 2 Всего: 99 |
И это будет правильней? Хотелось бы что-нибудь от других услышать по этому поводу, а вообще мне кажется что ты _hunter из мухи слона делаешь. Правильное или неправильное решение - работает ведь, что еще надо? -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
AndyY |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 316 Регистрация: 8.5.2004 Где: СПб Репутация: 2 Всего: 4 |
к слову о выравнивании. вот что пишет ms:
то есть pragma pack(4) влияет только на поля структуры более 4 байт. соответственно, все должно собираться и с заголовком от ms |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
кто ж спорит
![]() только такой код:
ровняется по DWORD' y ![]() ( почем -- не знаю ) -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 2 Всего: 99 |
Еще раз даю тебе кусок работающей проги.
У тебя это не работает или ты такой вариант не хочешь потому, что он "неправильный"? Если "неправильный" то объясни почему. -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
да я так и делаю ( просто других путей пока не вижу ), но считаю его неправильным ( скорее некрасивым
![]() Почему? Т.к. нужно писать свои структуры вместо существующих ( Не плодите сущностей сверх меры ). Это что-то типа INT да BOOL получается ![]() -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |