Подтвердить что ты не робот

Ctypes для статических библиотек?

Я пытаюсь написать оболочку Python для покера-eval, c статической библиотеки. Вся документация, которую я могу найти в ctypes, указывает, что она работает в общих/динамических библиотеках. Есть ли ctypes для статических библиотек?

Я знаю о cython, но должен ли я использовать это или перекомпилировать покер-eval в динамическую библиотеку, чтобы я мог использовать ctypes?

Спасибо,

Mike

4b9b3361

Ответ 1

Выбор действительно зависит от вас. Если у вас есть возможность перекомпилировать библиотеку в качестве общего объекта, я бы предположил, что, поскольку она минимизирует код, не поддерживаемый python, который вы должны поддерживать. В противном случае вы захотите создать модуль расширения python, который связывается со статической библиотекой и обертывает функции, которые он предоставляет.

Вы упомянули Китона; здесь соответствующая страница руководства, если вы идете по этому маршруту:

http://docs.cython.org/src/tutorial/clibraries.html

Там также есть SWIG и Pyrex.

Ответ 2

Я не могу точно сказать, что модулей нет, но преимущества динамических библиотек (использование меньшего пространства, возможность обновления без перекомпиляции зависимых программ) таковы, что вам, вероятно, лучше это делать.