Ðаn*_*Ðаn 40
有各种64位数据模型 ; Microsoft使用LP64 for .NET:long和指针都是64位(虽然传统的C风格指针不存在.NET).将此与ILP64进行对比,其中int也是64位.
因此,在所有平台上,unsafe是32位并且IntPtr是64位; 您可以在基础类型System.Int32和System.Int64的名称中看到这一点.
and*_*eer 17
一个Int32是在x86和x64 4个字节.一个Int64是8字节的情况.C#int类型只是一个别名System.Int32.两个运行时环境下都相同.根据运行时环境改变的唯一类型是IntPtr:
unsafe
{
var size = sizeof(IntPtr); // 4 on x86 bit machines. 8 on x64
}
Run Code Online (Sandbox Code Playgroud)
Bri*_*ndy 13
你可能会想到int指针或System.IntPtr.这将是x64上的8个字节和x86上的4个字节.指针的大小表明您的内存有64位地址.(System.IntPtr.Size= 64在x64上)
int无论您使用的是x86还是x64,其含义仍然是4个字节.也就是说,一个int永远对应于System.Int32.
| 归档时间: |
|
| 查看次数: |
30439 次 |
| 最近记录: |