Найти - Пользователи
Полная версия: Ошибка OSError: exception: access violation reading 0xFFFFFFFFFFFFFFFF
Начало » Python для новичков » Ошибка OSError: exception: access violation reading 0xFFFFFFFFFFFFFFFF
1
vladon1984
Добрый день!

Нужна помощь по обращению к 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 - нет. Помогите разобраться в чем кроется ошибка (переполнение при чтении?).
AD0DE412
.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB