我正在构建一个 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# intorlong可能等同于 C++ intorlong是不正确的。
相反,在 C# 中有一种称为 的类型IntPtr,它是专门为 P/Invoke 制作的。实际上,它的大小从 32 位机器上的 4 个字节更改为 64 位机器上的 8 个字节,因此这是 C++unsigned long或 Windows的正确等价物ULONG。
从 C++11 开始,您可以使用这些:
int8_tint16_tint32_tint64_tuint8_tuint16_tuint32_tuint64_t无论如何,它们的大小都保证保持不变。