Який розмір посилання на об’єкт у .NET? Чи відрізняється воно між x86, x64 та / або компіляцією AnyCPU?
Якщо це має значення, мене особисто цікавить C #.
Який розмір посилання на об’єкт у .NET? Чи відрізняється воно між x86, x64 та / або компіляцією AnyCPU?
Якщо це має значення, мене особисто цікавить C #.
Відповіді:
Посилання в основному є покажчиком. 32 біти в 32 бітовій ОС, 64 біти в 64 бітовій ОС.
Розмір об'єкта, на який посилається, є більш складним.
Для визначення розміру вказівника ви можете використовувати System.Runtime.InteropServices.Marshal.SizeOf(typeof(IntPtr))
або sizeof(IntPtr)
в небезпечному контексті.
Редагувати:
Або IntPtr.Size
.
Посилання на об’єкт - це в основному вказівник на пам’ять, що містить атрибути об’єкта. Таким чином, посиланням є одне процесорне слово довжиною - 32 біти на 32-бітних платформах і 64 біти на x64.