Как встроить C-код в программу Python? - PullRequest
4 голосов
/ 19 октября 2010

Я хочу написать программу, использующую многопоточность, raw-сокеты, для сканирования портов в python. У меня есть C-код для внедрения raw-сокетов.Я хочу выполнить сканирование ACK, поэтому мне нужен необработанный сокет.

Так что, пожалуйста, помогите мне.

спасибо

Ответы [ 2 ]

4 голосов
/ 19 октября 2010

Пожалуйста, проверьте Cython . Это позволяет легко обернуть код C.

Это адаптировано из документации о вызове внешних функций C :

cdef extern from "math.h":
    double sin(double)

def pysin(x):
    return sin(x)

Затем вы можете вызвать pysin из скомпилированного модуля, как обычный модуль Python.

0 голосов
/ 19 октября 2010

Я бы определенно пошел с boost.python , который обеспечивает еще более чистые обертки.Если вам не нравится идея использования C ++, то Cython - хорошая альтернатива.

...