Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Общие вопросы > Модуль на C


Автор: Immelmann 11.3.2007, 16:52
Написал на Си небольшой модуль.
С помощью компилятора студии 2005 создается без ошибок dll.
А дальше то что делать? В питон 2.5 она конечно не импортируется простым import test
Как сделать .pyd ??
Подскажите пожалуйста smile

Автор: krwlr 12.3.2007, 10:57
У меня DevCpp, например программа:

#include "C:\python25\include\Python.h"

// Создаем функцию IMUL для питон, она будет умножать два числа. 
static PyObject *KsimIMUL(PyObject *self, PyObject *val)
{
    int a,b;
    // получаем переданные в функцию аргументы 
    if(!PyArg_ParseTuple(val,"ii",&a,&b))
        return NULL;
    return Py_BuildValue("i",a*b); // возвращаем результат интерпретатору
}
// таблица методов модуля для интерпретатора
static PyMethodDef KsimMethods[] = {
    {"imul",KsimIMUL,METH_VARARGS,"IMUL two integers"}
};
void initksim(void) {
    Py_InitModule("ksim",KsimMethods);
}

/* end */

компилирую gcc --shared example.c -o ksim.pyd -lpython25

потом 

import ksim
print ksim.imul(5,4)

под 2005 проблем не будет, подключаешь библиотеку, а вобще переходи на DevCpp,
притом и под linux,bsd кодить привычнее.  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)