Интерфейс между Python и Си

TODO статья на Хабре

TODO pybind11

TODO pocketpy

Репозиторий с примерами

CTypes

Вся информация и примеры есть в документации

Идея: воспользоваться имеющейся разделяемой библиотекой со стандартным Си/Си+ интерфейсом.

пример

Недостаток: весь контроль памяти надо делать как в Си — самому

Альзо, faulthandler

CFFI

https://cffi.readthedocs.io

Идея: воспользоваться имеющейся разделяемой библиотекой со стандартным Си/Си+ интерфейсом

Проблема та же, что и в ctypes — ручная проверка памяти и типов, но часть работы делает pycparser сам

Идея: написать функцию на Си и преобразовать её в модуль для Python.

Альзо, внезапно: компиляторы различных языков в составе Python-пакета ZigLang

Python API

Extending Python with C or C++

Идея: программироваать на Си, используя типы данных Python

Идея: полностью написать модуль на Си.

Пример в репозитории

Большой пример — интерфейс к passwdqc

Cython

Cython

Идея: писать всё на специальном ЯП, смеси Python и Си

Пример из документации в виде модуля

Д/З

TODO

LecturesCMC/PythonDevelopment2025/14_PythonC (последним исправлял пользователь FrBrGeorge 2025-05-22 21:56:30)