У меня есть программа C со встроенным кодом python. Я скомпилировал python 2.7.2 из источника и связал свою программу с libpython2.7.a.Могу ли я использовать ctypes для вызова функции C из python, встроенного в C?
Теперь в моем коде на языке python я хочу перезвонить функции из других библиотек C, связанных с моей программой на C. Я могу написать расширение python (см. Расширение Embedded Python в this document). Однако ctypes сделает это намного проще и позволит мне использовать какой-то существующий код без изменений.
ctypes предназначен для загрузки разделяемых библиотек, и мне было интересно, есть ли способ «указать» его обратно на мой статический программный код.
Я не могу скомпилировать соответствующий код в разделяемую библиотеку, потому что моя цель - разделять библиотеки iOS и AFAIK, запрещенные Apple.
По какой-то причине это разрушает мой (статический) libffi в _ctypes. – Avner
@Avner: Честно говоря, я на самом деле не попробовал * код выше, поэтому я не могу помочь вам в этом сбое. –
Код выглядит правильно (вот почему я принял ваш ответ). Я подозреваю, что проблема связана с переносом libffi на iOS и с тем, как я скомпилировал libpython.a (со статическими модулями, статическими _ctypes и static libffi). Но поскольку я еще не разрешил этот крах, на данный момент это остается подозрением. – Avner