Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 24, 2011 16:13:16

DonVulture
От:
Зарегистрирован: 2011-07-20
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Передача short int из Python в С++

Здравствуйте, уважаемые знатоки.
Вопрос от экранозрителей.

Как передать из PYTHON массив данных в DLL на С++.
DLL должна принимать short int.

Пример неработающего кода привожу и грусть одолевает меня.
Код на Python

        
data=[1,2,3]
mass=np.array(data ,dtype=np.int16)
cv=cdll.LoadLibrary(r"cppdll.dll")
cv._fun(mass.ctypes.data)
Код на С++
extern "C"
{
//! обновить входные данные для опредления перегрузки
void __declspec(dllexport) fun( short int *mass )
{
// do something
}
}
Развейте грусть. Укажите на ошибку в коде PYTHON.
Спасибо.



Отредактировано (Ноя. 24, 2011 16:36:04)

Офлайн

#2 Ноя. 24, 2011 23:21:24

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Передача short int из Python в С++

Объявите fun как cdecl



Офлайн

#3 Дек. 2, 2011 10:27:27

DonVulture
От:
Зарегистрирован: 2011-07-20
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Передача short int из Python в С++

Спасибо за помощь.
Приведенный мною укороченный пример ошибки не содержал.
Ошибка была в реальном коде и выглядела вот так:
cv._fun(MASS= mass.ctypes.data)

Еще раз, спасибо за помощь.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version