[python] ctypes, globální proměnná v knihovně

Jan Martinek honza na dp.fce.vutbr.cz
Pondělí Červenec 23 10:02:06 CEST 2007


Ahoj,

mám soubor "testlib.c", který obsahuje jediný řádek, a to

int a = 1243;

Z toho udělám sdílenou knihovnu
gcc -shared testlib.c -o testlib.so

natáhnu ji do pythonu pomocí ctypes

 >>> from ctypes import *
 >>> lib = CDLL('./testlib.so')
 >>> lib.a
<_FuncPtr object at 0xb7f3d7e4>

což se zřejmě úspěšně podaří, ale vůbec netuším, jakým způsobem se 
dostat k té hodnotě 1243. Nevíte to někdo?
Když mám v té knihovně nějaké funkce, tak s jejich voláním nemám 
problém, ale nevím, jakým způsobem přečíst a změnit globální proměnnou.

Díky
Jan Martinek


Další informace o konferenci Python