Rozsda és C ++: Együtt a jobb programozási integráció felé vezető úton
Rozsda és C ++: Együtt a jobb programozási integráció felé vezető úton
A Rust Alapítvány nemrégiben közzétett egy fontos dokumentumot a GitHubról, amely megvilágítja a Rust és a C ++ programozási nyelvek közötti interakció kihívásait. Az alapítvány felvázolja mind a rövid, mind a hosszú távú megoldásokat a két programozási nyelv közötti jobb interoperabilitás érdekében. Ez különösen releváns, mivel a rozsda, bár a rendszerhez kapcsolódó programozásban bizonyult, gyakran megfelel a meglévő C ++ alkalmazásoknak.
A rozsda és a C ++ közötti interoperabilitás központi téma, különösen a beágyazott rendszerek vagy más erőforrás-korlátozott környezetek fejlesztésében. A Rust Alapítvány által említett alkalmazások példák a gyakorlatra: C ++ rendszerek, amelyek új funkciókat hajtanak végre rozsdamentes, rozsdapalapú rendszerekkel, amelyek meglévő C ++ kódot használnak, és olyan rendszereket, amelyek több programozási nyelvet használnak. A C ++ sokkal hosszabb történetet tartalmaz, ezért sok projektnek gyakran a meglévő C ++ kóddal kell működnie.
Az integráció kihívásai
A rozsda és a C ++ általános felhasználásának fő akadálya egy olyan eszközlánc hiánya, amely lehetővé teszi a C ++ és a rozsda kódjának keverését ugyanazon fájlban. Jelenleg az FFI-alapú (idegen funkció interfész) megközelítésre van szükség a két programozási nyelv csatlakoztatásához. Ez általában a C alkalmazás bináris felületén (ABI) keresztül történik, amely stabilabb és platformtól függetlenebb, mint a bonyolultabb C ++-ABIS.
Egy másik nagy probléma az, hogy a Rust biztonsági funkcióinak nagy része nagyrészt elveszik, amikor C -vel való interakció ennek eredményeként ez komoly kihívás azoknak a fejlesztőknek, akik a Rust erős biztonsági intézkedéseit akarják használni, miközben a C -vel egyidejűleg kölcsönhatásba lépnek. A Rust Alapítvány C -t úgy írja le, mint a C -ként az FFI integrációjának "lingua francának", és a közös kommunikációs alap megteremtésének nehézségei, a konkrét rozsda jellemzőinek használata súlyosan korlátozott.
fejlesztési stratégiák
A Rust Alapítvány három központi stratégiát határozott meg a „C ++/rozsda interoperabilitási problémamegjegyzésben”, hogy optimalizálja az interoperabilitást ezen nyelvek között. Mindenekelőtt az alapítvány az eszközök fejlesztését és az alapvető problémák rögzítését tervezi a rozsda projektben, amelyek megnehezítik az integrációt.
Ezenkívül a cél az, hogy konszenzust találjunk egy stratégiával kapcsolatban, azonosítsák és hajtsák végre a rozsda szükséges változtatásait az interoperabilitás növelése érdekében. Egy másik fontos szempont a C ++ közösséggel és a C ++ Standard Bizottsággal való együttműködés a közös biztonsági és teljesítménycélok elérése érdekében.
Ezek a megközelítések akkor következnek be, amikor a Google 2024 februárjában nagylelkű 1 millió dollár támogatást nyújtott a Rust Alapítványnak. Ezek a finanszírozás célja a Rust és a C ++ közötti együttműködés továbbfejlesztése.
További információkért olvasható a C ++/rozsda problémás nyilatkozatban a GitHub -on és a Rust Alapítvány bejelentéseiben. Ezek a kezdeményezések potenciálisan jelentősen befolyásolhatják a szoftverek fejlesztését és integrációját a jövőben, különösen azokon a területeken, ahol a rozsda és a C ++ megosztják.
Kommentare (0)