在C#中,当弄乱系统DLLImport /(非托管?)代码时,我读到某个地方,使用Int32精确类型而不是int很重要。这是真的?有人可以详细说明为什么这样做很重要吗?
最佳答案
我认为您更有可能阅读有关使用IntPtr
而不是int
的信息。正如其他人所说,int
和Int32
是等效的。
在32位系统上互换int
和IntPtr
并不是真正的问题,因为它们的大小相同(4个字节)。问题出现在64位系统上-如果使用int
而不是IntPtr
,则它的大小现在错误(4字节而不是8字节),并且可能导致错误。
关于c# - 显然,在与DLLImport混淆时,使用Int32而不是int很重要吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2853677/