BitTorrent bezeroaren transmisioa C-tik C++-ra aldatzen da

Transmission BitTorrent bezeroaren oinarria den libtransmission liburutegia C++ra itzuli da. Transmisioak oraindik loturak ditu erabiltzaile-interfazeen (GTK interfazea, deabrua, CLI) inplementarekin, C hizkuntzan idatzita, baina muntaketak C++ konpiladore bat behar du orain. Aurretik, Qt-en oinarritutako interfazea soilik idatzi zen C++-n (macOS-en bezeroa Objective-C-n zegoen, web-interfazea JavaScript-en eta gainerako guztia C-n).

Portting-a Charles Kerr-ek egin zuen, proiektuaren liderra eta Qt-en oinarritutako Transmission interfazearen egileak. Proiektu osoa C++ra aldatzearen arrazoi nagusia libtransmission-en aldaketak egitean gurpila etengabe berrasmatu behar duzulako sentsazioa da, nahiz eta C++ liburutegi estandarrean antzeko arazoetarako prest dauden irtenbideak (adibidez, beharrezkoa zen). tr_quickfindFirstK() eta tr_ptrArray() zure funtzioak sortzeko std: :partial_sort() eta std::vector()), baita C++ motak egiaztatzeko instalazio aurreratuagoekin ere.

Kontuan izan da garatzaileek ez dutela beren buruari libtransmisio osoa C++-n berehala berridazteko helburua, baizik eta C++rako trantsizioa apurka-apurka ezartzeko asmoa dutela, proiektua C++ konpilatzailea erabiliz konpilatzeko trantsiziotik hasita. Gaur egungo forman, C konpilatzailea ezin da jada mihiztatzeko erabili, C++-ko berariazko eraikuntza batzuk gehitu baitira kodeari, hala nola, "auto" gako-gako eta mota bihurketak "static_cast" operadorea erabiliz. C funtzio zaharrentzako euskarria bateragarritasunerako mantentzea aurreikusita dago, baina orain garatzaileei gomendatzen zaie std::sort() erabiltzera qsort() eta std::vector tr_ptrArray-ren ordez. constexpr tr_strdup()-ren ordez eta std::vector tr_ptrArray-ren ordez.

Iturria: opennet.ru

Gehitu iruzkin berria