Per quanto ne so, il compilatore Rust è autorizzato a confezionare, riordinare e aggiungere padding a ogni campo di una struttura. Come posso specificare il layout preciso della memoria se ne ho bisogno?Controllo preciso del layout della memoria in Rust?
In C#, ho l'attributo StructLayout
, e in C/C++, potrei usare varie estensioni del compilatore. Potrei verificare il layout della memoria controllando l'offset di byte delle posizioni dei valori attesi.
Mi piacerebbe scrivere codice OpenGL utilizzando shader personalizzati, che richiede un preciso layout di memoria. C'è un modo per farlo senza sacrificare le prestazioni?