如这篇 MSDN 文章中所述,Microsoft 有这两种类型的注释来声明不同架构上的本机指针。但是,在第二行:
在 32 位系统上,使用 __ptr64 声明的指针被截断为 32 位指针。在 64 位系统上,使用 __ptr32 声明的指针被强制转换为 64 位指针。
在我看来,这听起来像是声明无关紧要;如果架构将 __ptrXX 的声明覆盖为默认值,那么首先标记 __ptrXX 有什么意义?
我看到这个答案说它是用于互操作的,但是如果声明基本上如上所述被覆盖,那么这对互操作有什么帮助?