python2.7的代码太远古了, 在vs2019里重定向编译也有很多错误, 不想管了, 就直接用比较新的3.7的代码了
python3.7源码
参考文章, 把代码编译成功:
.Windows Visual Studio 2019 编译 Python 3.7.12 及 Python 3.10.0 源码
看Python 3.7.12 源码编译部分就行了, 大差不差
更改源码. 在print方法里面, 加上我们自定义的前缀:
// 搜索如下方法:
static PyObject *
builtin_print(PyObject *self, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames)
{
...
...
...
// 输出我们自定义的内容
PyFile_WriteString("this is our printn", file);
for (i = 0; i < nargs; i++) {
if (i > 0) {
if (sep == NULL)
err = PyFile_WriteString(" ", file);
else
err = PyFile_WriteObject(sep, file,
Py_PRINT_RAW);
if (err)
return NULL;
}
// 具体的输出内容
err = PyFile_WriteObject(args[i], file, Py_PRINT_RAW);
if (err)
return NULL;
}
// 分行输出
if (end == NULL)
err = PyFile_WriteString("n", file);
else
err = PyFile_WriteObject(end, file, Py_PRINT_RAW);
if (err)
return NULL;
}
更改代码后编译运行:



