ivbasul
Июнь 30, 2014 13:19:08
Всем доброго дня!
Сложилась такая ситуация. Мне для работы нужен алгоритм, уже реализованный на С. Я хотел бы использовать его при работе в Python.
Я не программист, для рабочих нужд научился в необходимой степени использовать Python (хотя многие коллеги работают в Matlab), но вот разбираться с кодом С - проблема. Не мог бы кто-нибудь подсказать, как это сделать проще всего? Какой-то глобальной задачи нет, просто отправить этому алгоритму на С данные и получить от него результат обработки.
В наличии у меня исходник .c и два файле заголовков .h.
Shaman
Июнь 30, 2014 13:49:27
Приветствую!
Первое что приходит на ум - стандартный модуль ctypes. Нужно будет собрать из ваших исходников динамическую библиотеку и подключить её при помощи обозначенного средства. Так же есть какая-то railgun, которая, якобы, упрощает такую интеграцию.
http://tkf.github.io/railgun/index.html#
ivbasul
Июнь 30, 2014 16:00:58
ага, очень хорошо!
а чем бы таким удобным собрать эту динамическую библиотеку из имеющихся исходников?

прямо из питона это как-то можно было бы сделать?
py.user.next
Июнь 30, 2014 22:05:46
ivbasul
как это сделать проще всего?
Проще всего собрать программу из сишного кода (с нужным вводом/выводом) и запускать её из питона с помощью subprocess.
Это требует запуска процесса в системе каждый раз. Но для единичных запусков подойдёт.