在C#中,当弄乱系统DLLImport /(非托管?)代码时,我读到某个地方,使用Int32精确类型而不是int很重要。这是真的?有人可以详细说明为什么这样做很重要吗?

最佳答案

我认为您更有可能阅读有关使用IntPtr而不是int的信息。正如其他人所说,intInt32是等效的。

在32位系统上互换intIntPtr并不是真正的问题,因为它们的大小相同(4个字节)。问题出现在64位系统上-如果使用int而不是IntPtr,则它的大小现在错误(4字节而不是8字节),并且可能导致错误。

关于c# - 显然,在与DLLImport混淆时,使用Int32而不是int很重要吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2853677/

10-13 06:57