А где вы такое видели? И как это возможно???
А где вы такое видели? И как это возможно???
да вот некто с ником jcxz недавно в теме написал: [uquote="jcxz",url="/forum/viewtopic.php?p=3645051#p3645051"]Да очень просто:jcxz писал(а):А где вы такое видели? И как это возможно???
Код: Выделить всё
u64 func()
{
void *ptr1, *ptr2;
...
return (u32)ptr1 | (u64)(u32)ptr2 << 32;
}
вызов:
u64 q = func();
void *ptr_1 = (void *)(u32)q;
void *ptr_2 = (void *)(u32)(q >> 32);я не уверен, что вы правы. во всяком случае в стандарте написано "long содержит минимум 32 бита".ПростоНуб писал(а):long всегда 32 бита
ну хоть раз с моими возражениями согласился человек, считающий себя профессионаломПростоНуб писал(а):И уж точно я согласен с тем, что такой упаковки следует избегать.