Rust și C ++: împreună pe drum spre o mai bună integrare a programării

Rust și C ++: împreună pe drum spre o mai bună integrare a programării

Fundația Rust a publicat recent un document important despre Github care ilustrează provocările în interacțiunea dintre limbajele de programare Rust și C ++. Fundația prezintă soluții atât pe termen scurt, cât și pe termen lung pentru interoperabilitatea îmbunătățită între aceste două limbaje de programare. Acest lucru este deosebit de relevant, deoarece rugina, deși s-a stabilit în programarea legată de sistem, îndeplinește adesea aplicațiile C ++ existente.

Interoperabilitatea dintre Rust și C ++ este un subiect central, în special în dezvoltarea sistemelor încorporate sau a altor medii limitate de resurse. Aplicațiile menționate de Fundația Rust sunt exemple pentru practică: sisteme C ++ care implementează noi funcții cu sisteme bazate pe Rust, Rust, care utilizează codul C ++ existent și sisteme care utilizează mai multe limbaje de programare. C ++ are o poveste mult mai lungă, motiv pentru care multe proiecte trebuie să lucreze adesea cu codul C ++ existent.

provocări de integrare

Un obstacol principal în utilizarea obișnuită a ruginii și C ++ este lipsa unui instrument de instrumente care permite să se amestece codul C ++ și Rust să se amestece în același fișier. În prezent este necesară o abordare bazată pe FFI (interfață funcțională străină) pentru a conecta cele două limbaje de programare. Acest lucru se întâmplă de obicei prin intermediul interfeței binare a aplicației (ABI) a lui C, care este mai stabilă și mai independentă de platformă decât C ++-Abis mai complexă.

O altă mare problemă este că multe dintre funcțiile de securitate ale Rust se pierd în mare măsură atunci când interacțiunea cu C. Ca urmare, aceasta este o provocare serioasă pentru dezvoltatorii care doresc să folosească măsurile puternice de securitate ale Rust, în timp ce interacționează cu C în același timp. Fundația Rust descrie C drept „Lingua Franca” pentru integrarea FFI, iar dificultățile de a crea o bază comună de comunicare, utilizarea caracteristicilor specifice de rugină este sever restricționată.

Strategii de îmbunătățire

Fundația Rust a definit trei strategii centrale în „declarația sa de interopebilitate a interoperabilității C ++/Rust” pentru a optimiza interoperabilitatea dintre aceste limbi. În primul rând, fundația intenționează să îmbunătățească instrumentele și să remedieze probleme fundamentale în cadrul proiectului Rust care îngreunează integrarea.

În plus, scopul este de a găsi un consens cu privire la o strategie, pentru a identifica și implementa modificările necesare pentru ca rugina să crească interoperabilitatea. Un alt punct important este cooperarea cu comunitatea C ++ și Comitetul standard C ++ pentru a urmări obiectivele comune de securitate și performanță.

Aceste abordări vin într -un moment în care Google a acordat un suport generos generos al Fundației de Rust de 1 milion de dolari în februarie 2024. Aceste finanțări sunt destinate să promoveze în continuare cooperarea dintre Rust și C ++.

Pentru mai multe informații, detaliile din declarația C ++/Rust Problem de pe Github și în anunțurile Fundației Rust pot fi citite. Aceste inițiative ar putea avea un impact semnificativ asupra dezvoltării și integrării software -ului în viitor, în special în zonele în care rugina și C ++ sunt partajate.

Kommentare (0)