python在c api中导入是否会导致其他人出现段错误?

#0  0x00007ffff7d7efc4 in PyUnicode_InternInPlace () from /usr/lib64/libpython3.7m.so.1.0
#1  0x00007ffff7d7f00e in PyUnicode_InternFromString () from /usr/lib64/libpython3.7m.so.1.0
#2  0x00007ffff7d2fb88 in PyImport_Import () from /usr/lib64/libpython3.7m.so.1.0
#3  0x00007ffff7d347bb in PyImport_ImportModule () from /usr/lib64/libpython3.7m.so.1.0
#4  0x00000000004005f0 in main () at test2.cpp:5
#include <Python.h>

int main()
{
        PyImport_ImportModule("os");
}

我在这里做错了什么明显的错误,还是一个错误?

我正在使用这些编译标志(只是python3-config --cflags和--libs的输出):
-I/usr/include/python3.7m -I/usr/include/python3.7m  -Wno-unused-result -Wsign-compare -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -g -DNDEBUG -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -g -DOPENSSL_LOAD_CONF -fwrapv -lpython3.7m -lpthread -ldl  -lutil -lm

最佳答案

据我了解,将Python嵌入C / C++需要您使用Py_Initialize()Py_Finalize()函数。

关于python - 为什么在python 3.7.2中使用PyImport_ImportModule segfault?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60122390/

10-11 23:04