[an error occurred while processing this directive]
|
да, для АРМ...
упакованная структура типа
{
char a;
long b;
}
это понятно - нет дырки в 3 байта между а и б...
а вот упакованная переменная типа 'long' - это не совсем понятно...
мне казалось, что переменные стандартных типов и их производных и так без дырок записываются...
или есть еще какой секретный смысл ???
например, если 'a' описана как 'char *a', а потом приводится к 'long' как
fff(char *a, char *b)
{
*(__packed long *)a = (long *)b;
}
то эквивалентно ли это следующему:
void
fff(char *a, char *b)
{
char *x = a;
x += 3;
x &= ~3;
*(long *x) = (long *)b;
}
так ли это???
у меня нет кейла и я не знаю как дизассемблировать то, чего не могу скомпилить :)
E-mail: info@telesys.ru