裸骨嵌入式Python上的段错误?

时间:2019-07-13 15:57:56

标签: python c

以下使用Python.h的C程序:

$ cat > test.c

#include <python3.7/Python.h>

int main() {
  Py_Initialize();
  Py_CompileString("foo", "bar", 0);
  Py_Finalize();
}

^D

...有段错误:

$ gcc test.c -lpython3.7m
$ ./a.out
Segmentation fault (core dumped)

使用gdb进行调试会导致崩溃:

PyParser_AddToken () from /usr/lib/x86_64-linux-gnu/libpython3.7m.so.1.0

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

start的值应该是Py_eval_inputPy_file_inputPy_single_input,而不是0