对于输出信息,使用 printf 最为简单。但是 printf 要输出 Python 中的某个对象却不是那么方便,幸好 Python 的 C API 提供了一个输出对象的接口:
object.h(在 pythoncore ⇒ Include)
PyAPI_FUNC(int) PyObject_Print(PyObject *, FILE *, int); // 将 PyObject 打印到指定的文件流中
intobject.h(pythoncore ⇒ Objects)
static int int_print(PyIntObject *v, FILE *fp, int flags); // 在命令行界面中 // print 100 时会调用的底层函数
在该函数的开头添加如下代码:
PyObject* str = PyString_FromString("I am in int_print."); PyObject_Print(str, stdout, 0); printf("\n");
此时,重新编译 python 解决方案,会得到新的 python27_d.dll,双击 python_d.exe,便可得到期待的结果: