我想在 Windows 上使用 SWIG 来构建 64 位应用程序。我有一个类,其中有一个指向缓冲区的指针,并且因为我想与 .NET 类交互,所以指针被声明为intptr_t
.
问题是标准 SWIGstdint.i
假设intptr_t
是int
(在 32 位环境中)或long
(在 64 位环境中)。虽然这在 Unix 上是正确的,但在 Windows 上却是错误的。有没有人有类似的经验或任何想法如何为此创建解决方法?
我已经设置了intptr_t
=>IntPtr
转换所需的类型映射,它在 32 位环境中运行良好,但它在 64 位环境中截断了指针。