我有以下功能:
void py_get_var( const char** var_name, int* found, char** resultado )
{
*found = 0;
PyObject * module = PyImport_AddModule("__main__");
PyObject * dictionary = PyModule_GetDict(module);
PyObject * result = PyDict_GetItemString(dictionary, *var_name );
if( result == NULL ){
*found = 1;
*resultado = "";
return;
}
#ifdef PY3K
*resultado = PyBytes_AS_STRING( PyUnicode_AsUTF8String(result) );
#else
*resultado = PyString_AS_STRING(result);
#endif
}
尝试从嵌入式Python会话中检索字符串(它始终是一个字符串)。它可以在Linux,Mac和Win32平台(以及几个版本的Python)上运行。
但是,它在Win64上返回一个空字符串。我在Windows上使用GCC编译器。
任何想法可能是什么原因?