Использование dll из Python
Вообще использование dll из Python особой проблемой не является, для этого есть модуль ctypes, который, начиная с Python 2.5, входит в состав этого самого Python’а. Но по какой-то загадочной причине даже вездесущий Google не смог найти примера связки "своя dll" + "своя python программа", а там есть некоторые неочевидные грабли: когда "своя dll" будет подключаться к чему угодно, но Python будет рапортовать:
|
|
Или говорить, что он ваших функций в упор не видит.
Так что, как говорят буддисты, на благо всех живых существ!
sampdll.def (без него Python не увидит наших функций):
|
|
sampdll.cpp:
|
|
Вызываем:
|
|
Функция получает и возвращает double:
|
|
Функция получает и изменяет переменную по ссылке:
|
|
Функция изменяет массив:
|
|
Про все остальное можно прочитать в документации. Исходники всего что выше тут. Dll собиралась Visual C++ 2005.