Jeśli mam następujące 2 zestawy kodu, w jaki sposób mogę je skleić?Jak przekonwertować listę w Pythonie do tablicy C za pomocą ctypes?
void
c_function(void *ptr) {
int i;
for (i = 0; i < 10; i++) {
printf("%p", ptr[i]);
}
return;
}
def python_routine(y):
x = []
for e in y:
x.append(e)
Jak mogę wywołać funkcję c_ z ciągłą listą elementów wx? Próbowałem rzucić x na c_void_p, ale to nie zadziałało.
Próbowałem też użyć czegoś jak
x = c_void_p * 10
for e in y:
x[i] = e
ale ten dostaje błąd składni.
Kod C wyraźnie chce adresu tablicy. Jak mogę to osiągnąć?
" * pyarr "w python ... Co to znaczy? – AaronYC
@AaronYC Przepraszam za zamieszanie; 'pyarr' to zwykła lista pythonów, np.' pyar = [1,2,3,4] '. Jeśli zastanawiasz się nad gwiazdą przed nazwą, sprawdź to: http://stackoverflow.com/questions/400739/what-does-mean-in-python –
Bardzo dziękuję ... Podany link czego potrzebowałem ... – AaronYC