#include #include void main() { Py_Initialize(); PyObject* numpy_module = PyDict_New(); PyObject* builtins = PyEval_GetBuiltins(); Py_INCREF(builtins); PyObject* globals = PyDict_New(); PyObject* builtin_str = PyUnicode_FromString("__builtins__"); PyDict_SetItem(globals, builtin_str, builtins); PyObject* locals = PyDict_New(); PyObject* res = PyRun_String( "from array import array\n" "a = array('i',[4,4,5])\n", Py_file_input, globals, locals); PyObject* a = PyDict_GetItem(locals, PyUnicode_FromString("a")); Py_INCREF(a); printf("got a of type %s ", a->ob_type->tp_name); if(PyObject_CheckBuffer(a)) { printf(".. which supports the buffer interface!\n"); }else{ printf(".. which does not support the buffer interface!\n"); } }