使用Swig将Python long int转换为unsigned int64

2024-10-04 13:15:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用Swig开发一个Python库。 我有一个类似于下面的类型图:

%typemap(in) (unsigned long long myLongParam){
   $1 = PyInt_AsUnsignedLongLongMask($input);
}

我这样调用目标Python函数:

^{pr2}$

这应该是一个64位长的无符号整数。但是,该值似乎被截断了32位。在


Tags: 函数in目标input符号整数longswig
1条回答
网友
1楼 · 发布于 2024-10-04 13:15:50

解决了。 问题不在那里。问题出在别处,与上述代码无关。 我做了以下错误的代码:

%apply int* OUTPUT {Uint64*}

这告诉swig将Uint64处理为int,因此结果被截断。它是使用SWIG峎u-From-int到结果值。在

我的解决方案是:

^{pr2}$

相关问题 更多 >