PyFile_Type替换为..?

时间:2011-11-19 16:22:04

标签: c cpython python-3.2

我正在为Python 3.2编译Yenc。我注意到gcc抱怨了一个未声明的函数PyString_Type,因此根据the documentation将其替换为替换PyBytes_Type

然而,gcc还抱怨称为PyFile_Type的未声明函数。我google了一下,发现:

Python 3.x replaces the PyFile_Type extension type 
with an abstract interface and specific implementation types. 
Unfortunately it doesn't make any of this directly available 
with a C level api.

source

我绝不是一名C程序员,这使我无法解决这个问题。我该怎么做才能解决这个问题?

修改:output of compilation_yenc.c

谢谢!

1 个答案:

答案 0 :(得分:2)

简单地说,PyFile_Type已被Python 3中甚至远程类似的东西取代,你必须自己修改代码或等待维护者这样做。如果你不是C程序员,它可能必须是后者。 The documentation指出,不是包装FILE *,Python 3现在包含低级I / O,在本例中为文件描述符和read()/ write()。