C файл: data.c
int aa[3] = {10, 20, 30};
int* my_func()
{
return aa;
}
Создать .so
>> gcc -c -Wall -Werror -fpic data.c
>> gcc -shared -o libdata.so data.o
Python файл: данные.py
import ctypes
f = ctypes.CDLL('./libdata.so').my_func
f.restype = ctypes.POINTER(ctypes.c_int)
print [i for i in f().contents]
Команда для выполнения:
>> python data.py
Сообщение об ошибке:
Traceback (most recent call last):
File "data.py", line 11, in <module>
f = ctypes.CDLL('./libdata.so').my_func
File "/app/vbuild/RHEL6-x86_64/python/2.7.9/lib/python2.7/ctypes/__init__.py", line 365, in __init__
self._handle = _dlopen(self._name, mode)
OSError: ./libdata.so: wrong ELF class: ELFCLASS32