В документации для поля System.Runtime.InteropServices.StructLayoutAttribute.Pack
указано, что:
По умолчанию значение равно 0, что указывает размер упаковки по умолчанию для текущей платформы.
Мне не удалось найти какую-либо документацию, в которой говорится, какие размеры упаковки на самом деле равны для различных платформ, которые поддерживает NET. Поскольку речь идет о выравнивании памяти, я предполагаю, что в документации говорится о платформах в смысле архитектуры процессора и набора инструкций (x86 / x64 / ARM, возможно, даже Itanium для старых. NET версии Framework, другие архитектуры для Mono), а скорее чем платформы в смысле операционной системы хоста (Windows / Linux / MacOS) или платформы в смысле таргетинга. NET (например, NET Framework /.NET Core / WinRT / Xamarin / Mono).
Может ли кто-нибудь предоставить полный список того, какой «размер упаковки по умолчанию для текущей платформы» будет на каждой платформе?