Каковы размеры упаковки структуры по умолчанию для. NET на разных платформах? - PullRequest
0 голосов
/ 08 мая 2020

В документации для поля 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).

Может ли кто-нибудь предоставить полный список того, какой «размер упаковки по умолчанию для текущей платформы» будет на каждой платформе?

...