Ответ 1
Там есть поток в списке рассылки Cython, который немного об этом говорит. Я считаю, что обсуждение касалось набора тестов Cython, но я думаю, что те же идеи могут быть применены к сгенерированным файлам.
В сущности, проблема связана с хаком, который был сделан для того, чтобы избежать предупреждений компилятора C о неиспользуемых функциях.
файл кода, о котором идет речь, выглядит следующим образом:
cdef extern from *:
bint FALSE "0"
void import_array()
# void import_umath()
if FALSE:
import_array()
# import_umath()
В прошлом части import_umath()
были без комментариев, но, как оказалось, это вызывало ошибки при построении в режиме С++. Таким образом, кажется, что было принято решение, что предупреждение о компиляторе намного лучше, чем сломанная сборка.
Короче говоря, похоже, что это особое предупреждение существует для совместимости с С++ и может быть безопасно проигнорировано. Я полагаю, что если вы действительно любите его, и если вы строите в режиме C, то вы можете попробовать сделать то же хак, импортируя подобный .pxi
файл с вызовом import_umath()
внутри вашего кода Cython.