Inlinec - awayek nû ya karanîna koda C-ê di nivîsarên Python de

rêvename inlinec Rêbazek nû ji bo entegrasyona hundurîn a koda C di nivîsarên Python de hate pêşniyar kirin. Fonksiyonên C rasterast di heman pelê koda Python de, ku ji hêla dekoratorê "@inlinec" ve hatî destnîşan kirin, têne destnîşan kirin. Kurtenivîsa ku ji hêla wergêra Python ve tê darve kirin û bi karanîna mekanîzmaya ku di Python de hatî peyda kirin tê pars kirin. codecs, ku îmkana girêdana parserek ji bo veguheztina nivîsarê dide berî ku ew ji hêla wergêr ve were pars kirin (wek qaîdeyek, modula kodekan ji bo veguheztina nivîsê ya zelal tê bikar anîn, lê ew di heman demê de dihêle hûn bi kêfî naveroka nivîsê veguherînin).

Parser wekî modulek ("ji inlinec import inlinec") ve girêdayî ye, ku pêvajoyek seretayî pêk tîne û pênaseyên fonksiyonên C-yê, ku bi karanîna şiroveyên @inlinec ve hatî ronî kirin, vediguhezîne girêdanên ctypes û şûna laşê fonksiyona C-yê digire. bi banga van girêdanan. Piştî veguhertinek wusa, wergêrê Python metna çavkaniyê ya rast veguhartî ya skrîptê distîne, ku tê de fonksiyonên C bi karanîna tê gotin. ctypes. Rêbazek bi heman rengî jî di projeyê de tê bikar anîn Pyxl4, ku dihêle hûn koda HTML û Python di yek pelê de tevlihev bikin.

# kodkirin: inlinec
ji inlinec import inlinec

@inlinec
testa def ():
#linavxistin
testa vala () {
printf ("Silav, dinya");
}

Pêşveçûn heya nuha wekî prototîpek ceribandî tê pêşkêş kirin, ku kêmasiyên wekî nebûna destek ji bo derbaskirina nîşankeran (ji xeynî rêzan) ji fonksiyonê re, hewcedariya xebitandinê vedihewîne.
"gcc -E" ji bo pêşdibistanên kodê, tomarkirina pelên navîn *.so, *.o û *.c di pelrêça heyî de, guhertoya veguhartî cach nake û qonaxên parskirinê yên nehewce pêk tîne (her gava ku ew dimeşe dereng dirêj dibe).

Source: opennet.ru

Add a comment