Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Как в программе на Python использовать модуль, написанный (возможно откомпилированный) на СИ?

ПрограммированиеPython
Александр Жиляев
Python Q
  · 4,2 K
Openstack DevOps and IBM/Informix Certified DBA . Phd in Math (Duality of spaces of...  · 25 июн 2021

=======================================================

UPDATE as of 03/07/21

Ниже следует код Python Wrapper for C++ написанный специально всвязи с одной из задач на ленте Математика.Это простой пример ,позволяющий быстро понять , что в Python API нет ничего страшного. Комментированы все шаги прямо в коде С++. Смотри - Creating Python Wrapper for one C++ procedure been inspired by Yandex Q news wire in Mathematics

https://informatics-ege.blogspot.com/2021/07/creating-python-wrapper-for-one-c.html

Я следую известной фразе Торвальдса :

download.jpeg

=======================================================

Это новая версия ответа . При работе через Python API целесообразнее писать процедуру на С ++, который имеет тип данных Вектор , который позволяет эффективно возвращать данные в Пайтон. При этом файл setup.py должен быть написан так , чтобы gcc ( не g++) корректно работал С++ кодом. Детально , все описано в документе для Python 3.10(beta 3) и Python 3.9.5 http://lxer.com/module/newswire/view/302031/index.html

Если использовать "import ctypes" то кодировать будут проще, но это было уже в первой версии ответа, хотя проблема отсутствия типов данных типов list , vector в С как была так и останется. В любой ситуации процедура С++ будет работать с Пайтон более эффективно .

Веб-разработчик, геймер, специалист по этике  · 18 сент 2021
Если у вас нет контроля над сишным кодом, который вы хотите вызвать (например, он уже скомпилирован в библиотеку или вы не умеете писать на C11 вообще), пользуйтесь, например, CFFI или подобными ей библиотеками: https://cffi.readthedocs.io/en/latest/overview.html#main-mode-of-usage Большая часть библиотек для биндинга питона и C, как я понимаю (не являясь программистом... Читать далее
1 эксперт согласен
Openstack DevOps and IBM/Informix Certified DBA . Phd in Math (Duality of spaces of...  · 18 июн 2021
UPDATE as of 25/06/21. Create Basic Python 3.10(beta) C++ Extensions on Fedora Linux 34 http://lxer.com/module/newswire/view/302031/index.html UPDATE as of 21/06/21. Please be aware of the recent testing been done. This way of "Creating basic Python C extensions" matches up to-date standards http://lxer.com/module/newswire/view/301838/index.html A simple code might... Читать далее
Even if you would like to call C++ procedure from Python module the core idea ( at least working for myself)... Читать дальше
работа на коммерцию и на фри-софтваре. прошлое: pascal, java, php, js, python, golang. на...  · 18 июн 2021
в программе на питоне, импортирование и использование модулей написанных на других языках - практически не отличимо от модулей написанных на питоне. я уже отвечал вам на подобный вопрос https://yandex.ru/q/question/kak_v_programme_na_pitone_ispolzovat_na_560f34a3/?answer_id=e2afa4fd-5e13-45bb-8261-9dac09cabf6f&utm_medium=share&utm_campaign=answer#e2afa4fd-5e13-45bb-8261... Читать далее

Как практически это выглядит?

Неужели в Питоне можно просто импортировать файл с текстом на языке си?

(Пример: "import main")