草庐IT

PyEval_InitThreads

全部标签

Python C API : Using PyEval_EvalCode

我正在尝试弄清楚如何从C语言使用Python解释器,但我在使用PyEval_EvalCode时遇到了问题。基本上,我正在编写一个C函数,它接收任意Python代码字符串、编译它、执行它,然后打印出结果。问题是,当我打印出结果时,我总是得到None,即使表达式的计算结果显然不是None。这是代码(为清楚起见删除了错误检查和引用计数):voideval(constchar*s){PyCodeObject*code=(PyCodeObject*)Py_CompileString(s,"test",Py_file_input);PyObject*main_module=PyImport_Add

python - Python 3 : How/when to call it? 中的 PyEval_InitThreads(传奇继续令人作呕)

基本上,对于PyEval_InitThreads()的确切时间,似乎存在大量混淆/歧义。应该被调用,并且需要什么伴随的API调用。officialPythondocumentation不幸的是非常模棱两可。已经有manyquestionsonstackoverflow关于这个话题,事实上,我个人已经askedaquestionalmostidentical对于这个,所以如果它作为副本关闭,我不会特别惊讶;但考虑到这个问题似乎没有明确的答案。(遗憾的是,我没有快速拨号的GuidoVanRossum。)首先,让我们在这里定义问题的范围:我想做什么?嗯...我想用C编写一个Python扩展模