Я не могу это объяснить, но я, конечно, могу это подтвердить.Это также не связано с архитектурой процессора.На ARM или x86 эта структура в Compact Framework имеет длину 24 байта, а в полной - 20 байтов.Если я создаю эквивалент в нативном коде, то это ожидаемое число 20.
Глядя на него в представлении памяти, я вижу, что компилятор добавляет 4 байта заполнения нулями в конце структуры, но у меня естьпонятия не имею почему.
var test = new StatusStruct()
{
_magic = unchecked((int)0xaaaaaaaa),
_seq = unchecked((int)0xbbbbbbbb),
_timestamp = unchecked((long)0xcccccccccccccccc),
_len = unchecked((int)0xdddddddd)
};
http://blog.opennetcf.com/ctacke/binary/struct_size.png
Я бы определенно назвал это ошибкой в CF.