Python - происходит сбой Ctypes CFUNCTYPE на устройствах ARM - PullRequest
0 голосов
/ 21 ноября 2018

Я пытаюсь зарегистрировать обратный вызов Python, который будет вызываться из моего кода C с использованием Ctypes.На моем компьютере все работает нормально, но python падает, когда код запускается на устройстве ARM.На моем компьютере я использую python 3.6.6, а это устройство ARM использует python 3.6.3.Я использую buildroot для генерации изображений.

Что ж, после некоторых тестов кажется, что проблема связана с CFUNCTYPE.Следующий код только проверяет CFUNCTYPE, и он работает на моем компьютере, но дает сбой (ошибка сегментации) на устройстве ARM:

    from ctypes import *

    def func():
        print("func called")

    CALLBACK = CFUNCTYPE(None)

    callback = CALLBACK(func)

    print("Calling callback")
    callback()

    print("Done!")

Результат на моем компьютере:

Calling callback
func called
Done!

Результат в устройстве ARM:

Calling callback
Segmentation fault

Это ошибка в CFUNCTYPE?Или мне нужно сделать что-то другое?Я использую много кода Python на этом устройстве, и все работает нормально, кроме этого CFUNCTYPE.

Спасибо

...