我正在构建一个 DLL,它将由 C++ 使用 COM 使用。请让我知道 C# 相当于 C++ 64-bit unsigned long long
。
它会是 C# 中的 ulong 类型吗?请确认。
谢谢,加根
我正在构建一个 DLL,它将由 C++ 使用 COM 使用。请让我知道 C# 相当于 C++ 64-bit unsigned long long
。
它会是 C# 中的 ulong 类型吗?请确认。
谢谢,加根
对于超出范围的任何内容ulong
,您不妨使用 C#BigInteger
结构。
在 C++ 中,每个整数类型在 64 位机器上运行时,其大小都会增加一倍,而不是在 32 位机器上运行。
因此,声明 C# int
orlong
可能等同于 C++ int
orlong
是不正确的。
相反,在 C# 中有一种称为 的类型IntPtr
,它是专门为 P/Invoke 制作的。实际上,它的大小从 32 位机器上的 4 个字节更改为 64 位机器上的 8 个字节,因此这是 C++unsigned long
或 Windows的正确等价物ULONG
。
从 C++11 开始,您可以使用这些:
int8_t
int16_t
int32_t
int64_t
uint8_t
uint16_t
uint32_t
uint64_t
无论如何,它们的大小都保证保持不变。