Inlinec - o nouă modalitate de a utiliza codul C în scripturile Python

Proiect inlinec A fost propusă o nouă metodă pentru integrarea inline a codului C în scripturile Python. Funcțiile C sunt definite direct în același fișier de cod Python, evidențiat de decoratorul „@inlinec”. Scriptul rezumat este executat așa cum este de către interpretul Python și analizat folosind mecanismul furnizat în Python codecuri, ceea ce face posibilă conectarea unui parser pentru a transforma scriptul înainte de a-l analiza de către interpret (de regulă, modulul de codecuri este folosit pentru transcodarea textului transparent, dar vă permite și să transformați în mod arbitrar conținutul scriptului).

Analizorul este conectat ca un modul („de la inlinec import inlinec”), care realizează procesarea inițială și traduce din mers definițiile funcțiilor C evidențiate folosind adnotări @inlinec în legături de tip c și înlocuiește corpul funcției C cu un apel la aceste legături. După o astfel de transformare, interpretul Python primește textul sursă convertit corect al scriptului, în care funcțiile C sunt apelate folosind ctipuri. O metodă similară este folosită și în proiect Pyxl4, care vă permite să amestecați codul HTML și Python într-un singur fișier.

# codificare: inlinec
din inlinec import inlinec

@inlinec
def test():
#include
void test() {
printf("Bună, lume");
}

Dezvoltarea este prezentată până acum ca un prototip experimental, care conține astfel de neajunsuri precum lipsa suportului pentru transmiterea de pointeri (cu excepția șirurilor de caractere) către funcție, necesitatea de a rula
„gcc -E” pentru preprocesarea codului, salvând fișierele intermediare *.so, *.o și *.c în directorul curent, fără memorarea în cache a versiunii convertite și efectuând etape inutile de analiză (întârzieri mari de fiecare dată când rulează).

Sursa: opennet.ru

Adauga un comentariu