Почему вы говорите, что все функции, вызываемые Python, должны быть статическими?Это обычно так, чтобы избежать конфликтов имен (поскольку любое пространство имен и т. Д. Будет игнорироваться из-за extern "C"
), но то, является ли функция статической или нет, не имеет значения.
При моем взаимодействии с библиотекой на C ++, по моему опыту, обычно нет большой проблемы сделать ее статичной и поместить все функции в один модуль перевода, потому что функции будут просто небольшими обертками, которыевызовите реальный C ++, и, как правило, он будет автоматически сгенерирован из некоторого файла описателя;Вы, конечно, не собираетесь писать все необходимые шаблоны вручную.