PyAPI_DATA()宏的解释是什么?
我在网上到处搜索,但似乎找不到关于PyAPI_DATA()的文档,甚至连简单的解释都没有(尽管它在Python的头文件中被使用,并且在python.org上被提到)。有没有人能解释一下这是什么,或者指给我一些我可能忽略的文档?
谢谢。
1 个回答
9
这个东西是用来标记公共API变量的(因为Python的核心通常是一个动态库)。比如在Windows系统上,当核心被编译时,它会变成 extern __declspec(dllexport) RTYPE
,而当一些模块被编译时,它会变成 extern __declspec(dllimport) RTYPE
。这个定义在 Include/pyport.h
文件里。