[英]How do I call global functions on Python objects?
我看过以下页面: https : long_lshift
但似乎没有任何方法可以调用long_lshift
或long_or
类的函数。
对我来说,调用这些函数不是必需的,我也可以使用更通用的版本,尽管我更喜欢调用这些函数。 无论如何,有没有办法使用这些? 我需要包括什么? 以下是一些示例代码,我想在其中使用它们(简化):
size_t parse_varint(parse_state* state) {
int64_t value[2] = { 0, 0 };
size_t parsed = parse_varint_impl(state, value);
PyObject* low = PyLong_FromLong(value[0]);
PyObject* high;
if (value[1] > 0) {
high = PyLong_FromLong(value[1]);
PyObject* shift = PyLong_FromLong(64L);
PyObject* high_shifted = long_lshift(high, shift);
state->out = long_or(low, high_shifted);
} else {
state->out = low;
}
PyObject_Print(state->out, stdout, 0);
return 0;
}
我在文档中找不到这些函数,但它们似乎已在Python.h
标头中导出:
PyNumber_Lshift
是替代long_shift
在我的代码。 PyNumber_Or
替代了long_or
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.