Я пытаюсь записать обертку Python для оценки покера, c статической библиотеки. Вся документация, которую я могу найти на ctypes, указывает, что это работает над общими/динамичными библиотеками. Существует ли ctypes для статических библиотек?
Я знаю о цитоне, но я должен использовать это или перекомпилировать оценку покера в динамическую библиотеку так, чтобы я мог использовать ctypes?
Спасибо,
Mike
Выбор действительно зависит от вас. Если у вас есть возможность перекомпилировать библиотеку как разделяемый объект, я бы посоветовал это сделать, потому что это минимизирует непитоновский код, который вам придется поддерживать. В противном случае, вы захотите создать модуль расширения python, который будет ссылаться на статическую библиотеку и обертывать функции, которые она раскрывает.
Вы упомянули Cython; вот соответствующая страница руководства, если вы пойдете этим путем:
http://docs.cython.org/src/tutorial/clibraries.html
Есть также SWIG и Pyrex.
Я не могу сказать наверняка, что там нет модулей, но преимущества динамических библиотек (занимает меньше места, может обновляться без перекомпиляции зависимых программ) таковы, что вам, вероятно, лучше обойтись именно этим.