Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
sh
Зарегистрирован: 11.03.2002 Сообщения: 121
|
Добавлено: Пн Янв 27 2003 22:09 Заголовок сообщения: Загадка для любителей С :) .. |
|
|
// // Маленькая прога, компилилась на // gcc 2.95.3-6 (виндовая версия) // // gcc -o proggie.exe proggie.c -Wl,-s,--subsystem=console // // #include
typedef struct MyStruct { unsigned short p1; unsigned long p2; } MS;
int main(int argc, char ** argv) { MS a;
printf("%p %p %d\n", &a.p1, &a.p2, (long)&a.p2 - (long)&a.p1); getchar(); }
вот что выводится: 0022FF58 0022FF5C 4
с какого???? почему??? ведь длина short - 2 байта должно было быть 0022FF58 0022FF5А 2 |
|
Вернуться к началу |
|
|
Борис Гость
|
Добавлено: Вт Янв 28 2003 09:59 Заголовок сообщения: Сделай с опцией "-fpack-struct": gcc -fpack-struct -o proggie.exe proggie.c -Wl,-s,--subsystem=console. Ну и в докуме |
|
|
- |
|
Вернуться к началу |
|
|
Valera Гость
|
Добавлено: Вт Янв 28 2003 11:33 Заголовок сообщения: И почитай про распределение памяти под переменные на твоей архитектуре (-) |
|
|
- |
|
Вернуться к началу |
|
|
sh
Зарегистрирован: 11.03.2002 Сообщения: 121
|
Добавлено: Вт Янв 28 2003 13:28 Заголовок сообщения: Спасибо за инфу (-) |
|
|
. |
|
Вернуться к началу |
|
|
|