Rust och C ++: Tillsammans på väg till bättre programmeringsintegration

Rust och C ++: Tillsammans på väg till bättre programmeringsintegration

Rust Foundation publicerade nyligen ett viktigt dokument om GitHub som belyser utmaningarna i interaktion mellan programmeringsspråket Rust och C ++. Stiftelsen beskriver både kortvariga och långsiktiga lösningar för förbättrad interoperabilitet mellan dessa två programmeringsspråk. Detta är särskilt relevant eftersom Rust, även om det har etablerat sig i systemrelaterad programmering, ofta uppfyller befintliga C ++ -applikationer.

Interoperabiliteten mellan Rust och C ++ är ett centralt ämne, särskilt i utvecklingen av inbäddade system eller andra resursbegränsade miljöer. De applikationer som nämns av Rust Foundation är exempel för praktik: C ++ -system som implementerar nya funktioner med Rust, Rust-baserade system som använder befintlig C ++ -kod och system som använder flera programmeringsspråk. C ++ har en mycket längre historia, varför många projekt ofta måste arbeta med befintlig C ++ -kod.

Utmaningar med integration

Ett huvudhinder i den vanliga användningen av rost och C ++ är bristen på en verktygskedja som gör att C ++ och Rust Code kan blanda i samma fil. En FFI-baserad metod (utländskt funktionsgränssnitt) är för närvarande nödvändig för att ansluta de två programmeringsspråken. Detta händer vanligtvis via applikationens binära gränssnitt (ABI) av C, som är mer stabil och mer plattformsoberoende än den mer komplexa C ++-ABIS.

Ett annat stort problem är att många av Rusts säkerhetsfunktioner till stor del går förlorade när interaktion med C. som ett resultat är detta en allvarlig utmaning för utvecklare som vill använda Rusts starka säkerhetsåtgärder medan de interagerar med C samtidigt. Rust Foundation beskriver C som "lingua franca" för FFI -integration och svårigheterna med att skapa en gemensam kommunikationsbasis, användningen av specifika rostfunktioner är starkt begränsad.

Strategier för förbättring

Rust Foundation har definierat tre centrala strategier i sitt "C ++/Rust Interoperability Problem -uttalande" för att optimera interoperabiliteten mellan dessa språk. Först och främst planerar stiftelsen att förbättra verktygen och fixa grundläggande problem inom Rust -projektet som gör integrationen svårare.

Dessutom är målet att hitta en enighet om en strategi, att identifiera och genomföra de nödvändiga förändringarna för Rust för att öka interoperabiliteten. En annan viktig punkt är samarbetet med C ++ Community och C ++ standardkommittén för att sträva efter gemensamma säkerhets- och prestationsmål.

Dessa tillvägagångssätt kommer vid en tidpunkt då Google beviljade Rust Foundation generöst stöd på 1 miljon dollar i februari 2024. Dessa finansiering är avsedda att ytterligare främja samarbetet mellan Rust och C ++.

För mer information kan detaljerna i C ++/Rust -problemuttalandet om GitHub och i tillkännagivanden av Rust Foundation läsas. Dessa initiativ kan potentiellt ha en betydande inverkan på utvecklingen och integrationen av programvara i framtiden, särskilt i områden där Rust och C ++ delas.

Kommentare (0)