Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 15, 2008 15:59:31

Vad
От:
Зарегистрирован: 2008-08-28
Сообщения: 94
Репутация: +  0  -
Профиль   Отправить e-mail  

Как использовать небольшую функцию на С в Python

Имеется небольшая функция на языке C.
Требуется использовать ее в Python, сделать import модуля и потом вызвать данную функцию чтобы она обработала данные и выдала результат.
Подскажите как это можно сделать попроще….



Офлайн

#2 Сен. 15, 2008 16:08:02

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Как использовать небольшую функцию на С в Python

Офлайн

#3 Сен. 16, 2008 08:19:46

Vad
От:
Зарегистрирован: 2008-08-28
Сообщения: 94
Репутация: +  0  -
Профиль   Отправить e-mail  

Как использовать небольшую функцию на С в Python

Хотелось бы поподробнее узнать как это сделать…..
для примера функция на С расчета контрольной суммы:

WORD CRC = 0x0000;
unsigned char i, Byte;
for( DWORD j = 0; j < dwReadLength; j++ )
{
Byte = lpSendBuffer;
for ( i = 0; i < 8; i++ )
{
if ( ((Byte << (i+8))^CRC)&0x4000 )
CRC = (CRC << 1)^0x1000;
else
CRC <<= 1;
}
}
как ее прилажить к питону чтобы можно было ее вызываеть в питоновских скриптах…



Офлайн

#4 Сен. 16, 2008 17:06:19

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Как использовать небольшую функцию на С в Python

Во-первых первая ссылка по линку который я дал даст простой пример, легко адаптируемый “под себя”.
Во вторых это можно сделать ещё несколькими способами:
Можно оформить её в dll (пример есть у Sergey Lymar'а)
Можно с помощью Cinpy
Кроме того, есть SWIG

Офлайн

#5 Сен. 16, 2008 20:32:45

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

Как использовать небольшую функцию на С в Python

Можно с помощью Pyrex.
Можно с помощью PyInline.
Ну, я думаю, и т.д.

..bw



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version