Rust ir C ++: kartu pakeliui į geresnę programavimo integraciją

Rust ir C ++: kartu pakeliui į geresnę programavimo integraciją

„Rust Foundation“ neseniai paskelbė svarbų dokumentą apie „GitHub“, kuris apšviečia programavimo kalbų sąveikos iššūkius „Rust“ ir „C ++“. Fondas apibūdina ir trumpalaikius, ir ilgalaikius sprendimus, skirtus pagerinti šių dviejų programavimo kalbų sąveiką. Tai ypač aktualu, nes „Rust“, nors ji įsitvirtino su sistema susijusiame programavime, dažnai atitinka esamas C ++ programas.

Rust ir C ++ sąveika yra pagrindinė tema, ypač kuriant įterptas sistemas ar kitą išteklių ribotą aplinką. „Rust Foundation“ minimos programos yra praktikos pavyzdžiai: C ++ sistemos, kurios įgyvendina naujas funkcijas su „Rust“, „Rust“ pagrįstomis sistemomis, kurios naudoja esamą C ++ kodą, ir sistemas, kurios naudoja keletą programavimo kalbų. „C ++“ turi daug ilgesnę istoriją, todėl daugeliui projektų dažnai reikia dirbti su esamu C ++ kodu.

Integracijos iššūkiai

Pagrindinė kliūtis įprastam rūdžių ir C ++ naudojimui yra įrankių grandinės trūkumas, leidžiantis C ++ ir Rust kodui maišyti tame pačiame faile. Šiuo metu reikalingas FFI pagrįstas (užsienio funkcijų sąsajos) metodas, norint sujungti dvi programavimo kalbas. Paprastai tai atsitinka per dvejetainę C programos sąsają (ABI), kuri yra stabilesnė ir nepriklausoma nuo platformos nei sudėtingesnis C ++-ABIS.

Kita didelė problema yra ta, kad daugelis „Rust“ saugumo funkcijų daugiausia prarandama, kai bendraujant su C. Dėl šios priežasties tai yra rimtas iššūkis kūrėjams, norintiems naudoti stiprias „Rust“ saugumo priemones, tuo pačiu metu sąveikaujant su C. Rustų fondas apibūdina C kaip „lingua franca“ FFI integracijai ir sunkumus, susijusius su bendro komunikacijos pagrindu, specifinių rūdžių ypatybių naudojimas yra labai apribotas.

tobulinimo strategijos

„Rust Foundation“ savo „C ++/Rust Sąžiningumo problemos pareiškime“ apibrėžė tris centrines strategijas, kad optimizuotų šių kalbų sąveiką. Visų pirma, fondas planuoja patobulinti įrankius ir išspręsti pagrindines rūdžių projekto problemas, kurios apsunkina integraciją.

Be to, siekiama nustatyti sutarimą dėl strategijos, nustatyti ir įgyvendinti būtinus rūdžių pakeitimus, kad padidintų sąveiką. Kitas svarbus dalykas yra bendradarbiavimas su „C ++“ bendruomene ir C ++ standartiniu komitetu siekti bendrų saugumo ir veiklos tikslų.

Šie metodai ateina tuo metu, kai 2024 m. Vasario mėn. „Google“ suteikė dosnią 1 mln. USD paramą. Šis finansavimas skirtas dar labiau skatinti Rusto ir C ++ bendradarbiavimą.

Norėdami gauti daugiau informacijos, galima perskaityti išsamią informaciją apie C ++/Rust problemos pranešimą apie „GitHub“ ir pranešimuose apie „Rust Foundation“. Šios iniciatyvos gali turėti didelę įtaką programinės įrangos plėtrai ir integracijai ateityje, ypač tose srityse, kuriose dalijamasi Rust ir C ++.

Kommentare (0)