Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 29, 2020 09:05:11

vladon1984
Зарегистрирован: 2020-01-29
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка OSError: exception: access violation reading 0xFFFFFFFFFFFFFFFF

Добрый день!

Нужна помощь по обращению к DLL-ке через python.

В Dll функция возведения в квадрат массива double.

Код TestsExDLL.h:

#include “extcode.h”
#ifdef __cplusplus
extern “C” {
#endif
typedef struct {
int32_t dimSize;
double elt;
} DoubleArrayBase;
typedef DoubleArrayBase **DoubleArray;

/*!
* TestsExDLL
*/
void __cdecl TestsExDLL(DoubleArray *ArrayIn, DoubleArray *ArrayOut);

MgErr __cdecl LVDLLStatus(char *errStr, int errStrLen, void *module);

/*
* Memory Allocation/Resize/Deallocation APIs for type ‘DoubleArray’
*/
DoubleArray __cdecl AllocateDoubleArray (int32 elmtCount);
MgErr __cdecl ResizeDoubleArray (DoubleArray *hdlPtr, int32 elmtCount);
MgErr __cdecl DeAllocateDoubleArray (DoubleArray *hdlPtr);

void __cdecl SetExecuteVIsInPrivateExecutionSystem(Bool32 value);

#ifdef __cplusplus
} // extern “C”
#endif

Код обращения к dll в Pуthon:

import ctypes
newlib = ctypes.CDLL(r'C:\\Users\\Admin\\Desktop\\IS2_Ex\\UPD16337\\TestsEXDLL.dll')

inputdata =
output =
pinputdata = (ctypes.c_double * len(inputdata))(* inputdata)
poutputdata = (ctypes.c_double * len(inputdata))(* output)

newlib.TestsExDLL.restype = ctypes.c_void_p
newlib.TestsExDLL.argtypes =

newlib.TestsExDLL(pinputdata, poutputdata)



После выполнения кода выдает следующую ошибку:
newlib.TestsExDLL(pinputdata, poutputdata)
OSError: exception: access violation reading 0xFFFFFFFFFFFFFFFF

Dll создавалась средствами Labview. После создания проверялась на работоспособность в Labview. Проблем с выводом результата в labview - нет. Помогите разобраться в чем кроется ошибка (переполнение при чтении?).

Офлайн

#2 Янв. 29, 2020 11:14:20

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Ошибка OSError: exception: access violation reading 0xFFFFFFFFFFFFFFFF

.



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version