Miten alla olevaa functiota kutsutaan pythonista ctypesiä käyttäen?
GetNames(MYNAME* list, int max_names) ;
typedef struct _name_list
{
char name[10] ;
} MYNAME ;
MYNAME names[46];
GetNames(names, 46);
Alla oma python yritys, en ymmärrä mikä vialla?
import ctypes
class MYNAME(ctypes.Structure):
_fields_ = [
("name", (ctypes.c_char*10))]
names = (MYNAME * 46)()
python_get_names.argtypes = [ctypes.POINTER(MYNAME*46), ctypes.c_int]
python_get_names(names, 46)
Tule virhe:
ValueError: Procedure called with not enough arguments (20 bytes missing) or wrong calling convention
Apua Python ctypes!
EiYmmärrä6
2
334
Vastaukset
- Kokemus-opettaa
Lisää mutuilua,
Viittaako kertomasi virhe, antamaasi esimerkkiin, epäilyttää että ei, vaan virhe ilmoitus viittaa ohjelmassa muualla olevaan virheeseen, eikö niin ? - Kokemus-opettaa
Kummalista moderointia,
avaus sisältää ohjelmakoodia monta riviä enemän kuin minun antamani vastaus, kuitenkin vain minun vastaus poistettiin, eikä senkään poistoon olisi pitänyt olla mitään aihetta.
Merkillistä touhua, tosiaan, ei mitään tolkua.
Ketjusta on poistettu 1 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Taas puukotus yläristillä!
Tänään taas puukotettu hengiltä ihminen Kuopiontien läheisyydessä yläristillä! Nyt näitä alkaa olla viikoittain!591718Olen päättänyt tappaa itseni tämän vuoden puolella
Minulla ei ole oikeastaan mitään hävittävää. Elämäni on surkeaa ja tunnen ihmisten tuijotukset ja supinat. Ne nauravat r1321388Mitä teillä grillataan juhannuksena? Anna oma vinkkisi grilliherkkuihin
Kesä ja juhannus on grillailun kulta-aikaa. Mitä teillä grillataan juhannuksena? Anna oma vinkkisi grilliherkkuihin. Ka701241La Promesa sarjan ystäville iso pettymys - Yleltä lisäinfoa asiasta
La Promesa suosikkisarjan kohtalosta on tullut tietoa. Tämä ei kyllä välttämättä ilahduta sarjan faneja. Lue lisää: htt10836- 64811
- 69691
Nyt kun olen vähän huppelissa niin uskallan sanoa
Mikä minua oikein närästää... Tiedän että meillä on ollut vaikeaa mutta miten kauan sulla on ollut toinen mies vai oliko39531- 36477
- 45476
- 52442