我正在构建一个DLL,将被C++使用COM调用。 请告知 C++ 64位中的 unsigned long long 在C#中的相等类型是什么。 它会是C#中的ulong类型吗? 请确认。 谢谢, Gagan
在C++中,整数类型的大小取决于程序是在32位还是64位机器上运行,而C#整数类型是独立于平台的。因此,它们不可互操作。相反,在C#中有IntPtr和UIntPtr类型,它们用于P/Invoke,并且在32位机器上的大小为4字节,在64位机器上的大小为8字节,这使它们分别等效于C++的signed long和unsigned long类型。
自从C++11以来,您可以使用以下内容: int8_t int16_t int32_t int64_t uint8_t uint16_t uint32_t uint64_t 它们的大小保证不受任何影响。请参考http://en.cppreference.com/w/cpp/types/integer。
ulong
是一个 64 位无符号长整型。 - PiousVenom