[Python] ctypes e puntatore ad un array di stringhe

Marco Giusti marco.giusti a posteo.de
Ven 21 Nov 2014 10:13:45 CET


On Tue, Nov 18 2014, Marco Giusti wrote:
> Salve a tutti,
> 
> con ctypes vorrei richiamare una funzione C che ritorna **char. La
> funzione in causa assegna la memoria per le singole stringhe e per
> l'array stesso e lascia al chiamante l'onere di liberarla. Sebbene con
> ctypes riesca ad accedere ai singoli valori, non riesco ad accedere
> all'area di memoria puntate e di conseguenza non riesco a liberarla.

Penso di aver risolto giocando con i puntatori come in C. Spero di non
andare all'inferno per questo .)

Per la cronaca allego quanto fatto così, se avete voglia, potete anche
verificare la correttezza.

m.
-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome:        main.c
Tipo:        text/x-csrc
Dimensione:  260 bytes
Descrizione: non disponibile
URL:         <http://lists.python.it/pipermail/python/attachments/20141121/7b914e41/attachment.c>
-------------- parte successiva --------------
all: libmy.so a.out

run: libmy.so
	LD_LIBRARY_PATH=. python my.py

libmy.so: my.c my.h
	gcc -Wall -fPIC -g -c my.c
	gcc -shared -Wl,-soname,libmy.so.1 -o libmy.so.1.0 my.o
	ln -sf libmy.so.1.0 libmy.so.1
	ln -sf libmy.so.1 libmy.so

a.out: libmy.so main.c
	gcc -Wall -I. -L. -lmy -g main.c 

clean:
	rm my.o a.out libmy.so*
-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome:        my.c
Tipo:        text/x-csrc
Dimensione:  352 bytes
Descrizione: non disponibile
URL:         <http://lists.python.it/pipermail/python/attachments/20141121/7b914e41/attachment-0001.c>
-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome:        my.h
Tipo:        text/x-chdr
Dimensione:  22 bytes
Descrizione: non disponibile
URL:         <http://lists.python.it/pipermail/python/attachments/20141121/7b914e41/attachment.h>
-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome:        my.py
Tipo:        text/x-python
Dimensione:  527 bytes
Descrizione: non disponibile
URL:         <http://lists.python.it/pipermail/python/attachments/20141121/7b914e41/attachment.py>


Maggiori informazioni sulla lista Python