Насколько я знаю, компилятору Rust разрешено упаковывать, изменять порядок и добавлять дополнения к каждому полю структуры. Как я могу указать точную схему памяти, если мне это нужно?Точный контроль макета памяти в ржавчине?
В C# у меня есть атрибут StructLayout
, а в C/C++ я могу использовать различные расширения компилятора. Я могу проверить макет памяти, проверив смещение байтов ожидаемых значений.
Я хотел бы написать код OpenGL с использованием пользовательских шейдеров, которым требуется точная компоновка памяти. Есть ли способ сделать это, не жертвуя производительностью?