|
80 / 0 / 1
Регистрация: 06.11.2017
Сообщений: 16
|
|||||||||||
Ошибка OSError: exception: access violation reading 0xFFFFFFFFFFFFFFFF29.01.2020, 09:57. Показов 14971. Ответов 25
Метки нет (Все метки)
Добрый день!
Нужна помощь по обращению к DLL-ке через python. В Dll функция возведения в квадрат массива double. Код TestsExDLL.h:
newlib.TestsExDLL(pinputdata, poutputdata) OSError: exception: access violation reading 0xFFFFFFFFFFFFFFFF Dll создавалась средствами Labview. После создания проверялась на работоспособность в Labview. Проблем с выводом результата в labview - нет. Помогите разобраться в чем кроется ошибка (переполнение при чтении?).
0
|
|||||||||||
| 29.01.2020, 09:57 | |
|
Ответы с готовыми решениями:
25
ФАтальная ошибка unhandled access violation reading 0x0041 exception at 19E804B0H Автокад - фатальная ошибка: unhandled Access violation Reading 0x0000 Exception at 40403c90h
|
|
80 / 0 / 1
Регистрация: 06.11.2017
Сообщений: 16
|
||||||
| 30.01.2020, 16:45 [ТС] | ||||||
Сообщение было отмечено Рыжий Лис как решение
Решение
Да, я примерно так и думал, буду пробовать. Проблема будет еще в том то массив ошибок из labview выходит как "variant", ну это уже 2 вопрос.
Добавлено через 3 часа 53 минуты Добился работоспособности кода python c dll. Предварительно проверил на labview. Отработан вариант второй: задание входных и выходных аргументов через указатель на массив + указатели количества чисел в массивах. Собственно сам код:
inputdata = [10.6, 25.2, 32.1, 41.4] result = [ 112.36 635.04 1030.41 1713.96] Вариант первый с заданием входных/выходных аргументов как Array Handle Pointer выложу позже.
0
|
||||||
|
80 / 0 / 1
Регистрация: 06.11.2017
Сообщений: 16
|
|||||||||||
| 03.02.2020, 07:56 [ТС] | |||||||||||
|
Выкладываю вариант 1 по обращению к dll, но не рабочий пока что:
newlib.TestsExDLL(bufferin, bufferout) OSError: exception: access violation reading 0x0000000000000004 Судя по файлу заголовка:
0
|
|||||||||||
|
80 / 0 / 1
Регистрация: 06.11.2017
Сообщений: 16
|
||||||
| 03.02.2020, 10:25 [ТС] | ||||||
|
Убрал указатели, но на выходе тоже самое:
OSError: exception: access violation reading 0x0000000000000004 В параметрах прототипа к dll в labview вот что: void TestsExDLL(Array1DDouble ***ArrayIn, Array1DDouble ***ArrayOut); и это работает.
0
|
||||||
|
80 / 0 / 1
Регистрация: 06.11.2017
Сообщений: 16
|
|||||||||||
| 05.02.2020, 12:47 [ТС] | |||||||||||
|
To Рыжий Лис:
нашел на вот этом форуме нечто похожее: но смущает то что указателем становится вся структура, и задать значение уже невозможно. Т.е.:
ArrayIn = darr(len(input), (c_double * len(input))(*input)) TypeError: POINTER expected at most 1 arguments, got 2 Питон видит структуру как один целый аргумент. Добавлено через 15 минут Еще одно наблюдение, не понимаю как это возможно: сам код:
print(ArrayIn) print(np.frombuffer(ArrayIn)) следующий <__main__.Arr object at 0x0000021A7FA68148> [9.88e-324 1.06e+001 2.52e+001] Всего кода: s_obj = newlib.TestsExDLL(byref(ArrayIn), byref(ArrayOut)) OSError: exception: access violation reading 0x0000000000000002 Почему в массиве ArrayIn первое значение 9.88e-324, а не сама длина 2?
0
|
|||||||||||
|
Просто Лис
|
|||||||
| 05.02.2020, 12:54 | |||||||
Добавлено через 1 минуту Понял, потому что мы в frombuffer преобразуем в double.
0
|
|||||||
| 05.02.2020, 12:54 | |
|
Ошибка: Unhandled exception at 0x772115de in TimeShift.exe: 0xC0000005: Access violation reading location 0x00041000. Объект приходит пустым (стертым?) к for циклу. Exception thrown: read access violation. it was 0xFFFFFFFFFFFFFFFF Exception thrown at 0x77D75BCA (ntdll.dll): 0xC0000005: Access violation reading location 0x0000 Ошибка Access violation reading location 0x00000003
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
[golang] Конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
alhaos 10.06.2026
Задача
Реализовать конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
Сигнатура
func Fetch(urls string, maxConcurrent int) Result
Пример
urls :=. . .
|
[golang] Состояние гонки (race condition)
alhaos 10.06.2026
Состояние гонки (race condition)
Состояние гонки (Race Condition) — это ошибка, возникающая при одновременном доступе нескольких горутин к одним и тем же данным без должной синхронизации. При этом. . .
|
Взрослые отношения, и почему они не получаются
kumehtar 09.06.2026
Когда в детстве ребёнок не получает от родителей чего-то важного, он лишается не просто приятных переживаний, а основы для формирования определённых внутренних качеств и навыков. Если ребёнок не. . .
|
[golang] Worker Pool
alhaos 09.06.2026
Worker Pool
Worker Pool — паттерн конкурентной обработки задач в Go.
Суть: фиксированное количество горутин-воркеров читают задачи из общего канала
и пишут результаты в общий канал результатов. . . .
|
|
[golang] Pipeline
alhaos 08.06.2026
Pipeline
Pipeline — паттерн конкурентной обработки данных в Go.
Суть: данные проходят через цепочку независимых стадий, каждая из которых работает в своей горутине и общается с соседями через. . .
|
Свет внутри себя
kumehtar 07.06.2026
Пусть это будет здесь
lIs4oanZS9Y
|
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу.
До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
|
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений.
. . .
|