默认情况下,该
import_array例程将仅在单个文件中提供NumPy C
API。这是因为它通过存储在静态全局变量(即,未导出,仅在同一文件中可见)的函数指针表起作用。
如文档中所述,您可以使用一些预处理器定义来更改此行为:
在扩展名的所有文件中,定义
PY_ARRAY_UNIQUE_SYMBOL
一个唯一的变量,该变量不太可能与其他扩展名冲突。在变量名中包括扩展的模块名将是一个好主意。在除您要调用的文件之外的每个文件中
import_array
,定义符号NO_import_ARRAY
必须先定义这些符号,然后
arrayobject.h才能使它们生效。



