1

我将 cpython 和 v8 嵌入在一起,并且在将 javascript 数据转换为PyDateTimevia时遇到了段错误PyDateTime_FromTimestamp

Handle<Date> date = Handle<Date>::Cast(value);
printf("%d\n", 8);
PyObject* floatObj = PyFloat_FromDouble(date->NumberValue());
printf("%d\n", 9);
printf("%d\n", floatObj);
PyObject* timeTuple = Py_BuildValue("(O)", floatObj);
Py_DECREF(floatObj);
printf("%d\n", 10);
PyObject* dateTime = PyDateTime_FromTimestamp(timeTuple);
printf("%d\n", 11);
Py_DECREF(timeTuple);
printf("%d\n", 12);

运行时我得到以下输出:

8
9
14709864
10
[1]    33794 segmentation fault

timeTuple关于为什么似乎会导致PyDateTime_FromTimestamp错误的任何见解?

字符串、数字、布尔值、数组、字典等的转换都可以正常工作。

4

1 回答 1

0

回答我自己的问题:

看来PyDateTime_IMPORT;宏需要从您将要调用的同一文件中调用PyDateTime_FromTimestamp。我之前在另一个文件中调用了它,在我调用Py_Initialize.

于 2014-09-08T17:56:26.593 回答