[python] Pole v ctypes
Radek Machulka
radek.machulka na gmail.com
Neděle Únor 7 18:03:06 CET 2010
Zdar,
posledni dobou se to tu celkem rozjelo, tak prihodim i ja svoji trosku do
mlyna.
Snazim se napsat vlastni wrapper okolo C knihovny (LabView) pomoci modulu
ctypes. Jeden problem, na ktery jsem narazil je transformace datovych typu,
predevsim pole. Fukce v pythonu dostane jako vstupni parametr pole (iterable),
ktery musi prevest na pole v C a predat C funkci. Podle toho co jsem nasel by
melo reseni vypadat nasledovne (pro pole o delce 3):
float64 = ctypes.c_double
array = float64 * 3
cInp = array(pInp[0], pInp[1], pInp[2]),
kde pInp je pole v pythonu a cInp je pole v C.
Jak predchozi priklad upravit tak, aby podporoval vstupni pole (pInp) o
libovolne (cti predem nezname) delce? Da se predpokladat, ze druhy radek bude
array = float64 * len(pInp),
ale co ten treti?
Predem dik
Radek
Další informace o konferenci Python