C# fornisce StructLayoutAttribute.Pack, ma il suo comportamento è "ogni membro ottiene almeno l'allineamento specificato che lo voglia o no", mentre il comportamento del pacchetto #pragma in C++ è "ogni membro ottiene l'allineamento desiderato, a meno che vuole più dell'allineamento specificato, nel qual caso non è garantito ottenere di più ".C# ha un equivalente al pacchetto #pragma in C++?
C'è un modo per far sì che il layout di una struct in C# sia lo stesso del layout di una struct simile in C++ con un pacchetto #pragma specifico, oltre all'uso di StructLayout (LayoutKind.Explicit) e FieldOffset su ogni membro o inserire membri di padding non utilizzati?
Puoi fornire un esempio di codice che illustra la differenza che stai vedendo e il motivo per cui sta causando un problema? StructLayout.Pack ha sempre coperto le mie esigenze. –