
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
06.03.2007, 10:13
|
|||
|---|---|---|---|
|
|||
Размерность структур в с++ BUILDER6.0. |
|||
|
#18+
Есть структура struct a{ { int b; } } в BUILDER её размер отличается от размера этой же структуры, но слинкованной в VISUAL C++ как с этим бороться? Прикол в том что когда структуры вложенные, то их размер почему то увел-ся. Т.Е. размер struct a{ { int b; } } ОТЛИЧАЕТСЯ ОТ struct a{ int b; } МОЖЕТ опция есть какая нибудь в BUILDER ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.03.2007, 10:42
|
|||
|---|---|---|---|
Размерность структур в с++ BUILDER6.0. |
|||
|
#18+
Ну, во первых, конструкция Код: plaintext 1. 2. 3. 4. 5. Во вторых, на размерность влияет выравнивание. Управляется директивой #pragma pack. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.03.2007, 15:42
|
|||
|---|---|---|---|
|
|||
Размерность структур в с++ BUILDER6.0. |
|||
|
#18+
Вы меня может не поняли : Имеется три структуры struct a { int zzz; } struct b { { int zzz; } } struct c { { { int zzz; } } } В итоге: sizeof(a) не равна sizeof(b) sizeof(a) не равна sizeof(c) sizeof(b) не равна sizeof(c) И чё делать???? Почему размер структур не совпадает???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.03.2007, 16:26
|
|||
|---|---|---|---|
Размерность структур в с++ BUILDER6.0. |
|||
|
#18+
MYTH777Вы меня может не поняли : Имеется три структуры struct a { int zzz; } struct b { { int zzz; } } struct c { { { int zzz; } } } В итоге: sizeof(a) не равна sizeof(b) sizeof(a) не равна sizeof(c) sizeof(b) не равна sizeof(c) И чё делать???? Почему размер структур не совпадает???? Что за издевательство над структурами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.03.2007, 16:38
|
|||
|---|---|---|---|
Размерность структур в с++ BUILDER6.0. |
|||
|
#18+
MYTH777Имеется три структуры struct a { int zzz; } struct b { { int zzz; } } struct c { { { int zzz; } } } Гм... и у вас это дело компилируется? У меня нет. Даже если стандарт С++ допускает такие странные объявления структур (досканально я с ним не знаком), но C и BCB отказываются их принимать. Как вы вычисляли sizeof()? Приведите полный текст программы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.03.2007, 19:34
|
|||
|---|---|---|---|
Размерность структур в с++ BUILDER6.0. |
|||
|
#18+
MYTH777Есть структура struct a{ { int b; } } МОЖЕТ опция есть какая нибудь в BUILDER Зачем ещё одни скобки внутри структуры? Точки с запятой нету после обьявления структуры. Лично у меня компилятор пишет, что error C2059: syntax error : '{' error C2334: unexpected token(s) preceding '{'; skipping apparent function body Обычно делается так Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.03.2007, 00:03
|
|||
|---|---|---|---|
Размерность структур в с++ BUILDER6.0. |
|||
|
#18+
авторПотом, разве есть гарантия что int в C++ и Builder'е одного размера? нету гарантии, ее нигде нету, каждый творит по своему ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.03.2007, 00:48
|
|||
|---|---|---|---|
Размерность структур в с++ BUILDER6.0. |
|||
|
#18+
По сабжу (гипотеза :-)). Если это дело хоть чем-то компилируется, то, наверное, вложенные скобки воспринимаются либо как ещё одна структура, либо nameless union, либо ещё что-нибудь, и тут в дело включается выравнивание, и потому размеры структур не совпадают... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.03.2007, 00:50
|
|||
|---|---|---|---|
Размерность структур в с++ BUILDER6.0. |
|||
|
#18+
И ещё. Чтобы размер совпадал с Visual C++, наверное, есть смысл вместо int использовать либо WORD/DWORD либо что-то вроде майкрософтовского __int16/__int32/__int64. И причем с выравниванием по 1 байту. И без загонов с вложенными скобками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=57&mobile=1&tid=2029313]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
156ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 486ms |

| 0 / 0 |
