Подтвердить что ты не робот

Отображение глобальной переменной из общей библиотеки с помощью ctypes

Я хотел бы сопоставить значение int pbs_errno, объявленное как глобальное в библиотеке libtorque.so, используя ctypes.

В настоящее время я могу загрузить библиотеку следующим образом:

from ctypes import *
libtorque = CDLL("libtorque.so")

и успешно отобразили кучу функций. Однако для целей проверки ошибок многие из них устанавливают переменную pbs_errno, поэтому мне также нужен доступ к ней. Однако, если я попытаюсь получить к нему доступ, я получаю:

>>> pytorque.libtorque.pbs_errno
<_FuncPtr object at 0x9fc690>

Конечно, это не указатель на функцию и попытка вызвать его, приводит к ошибке seg.

Он объявлен как int pbs_errno; в главном заголовке и extern int pbs_errno; в файлах заголовков API.

Objdump показывает символ как:

00000000001294f8 g    DO .bss   0000000000000004  Base        pbs_errno
4b9b3361