Client BitTorrent Transmission passa da C à C++

A libreria libtransmission, chì hè a basa di u cliente Transmission BitTorrent, hè stata tradutta in C++. A trasmissione hà sempre ligami cù l'implementazione di l'interfacce d'utilizatori (interfaccia GTK, daemon, CLI), scritti in lingua C, ma l'assemblea avà bisognu di un compilatore C++. Prima, solu l'interfaccia basata in Qt era scritta in C++ (u cliente per macOS era in Objective-C, l'interfaccia web era in JavaScript, è tuttu u restu era in C).

U portu hè statu realizatu da Charles Kerr, u capu di prughjettu è autore di l'interfaccia di trasmissione basata in Qt. U mutivu principale per cambià u prughjettu tutale à C++ hè a sensazione chì quandu fate cambiamenti à libtransmission avete constantemente à reinventà a rota, ancu s'ellu ci sò suluzioni pronti per prublemi simili in a libreria C++ standard (per esempiu, era necessariu. per creà e vostre propiu funzioni tr_quickfindFirstK() è tr_ptrArray() in presenza di std::partial_sort() è std::vector()), è ancu furnisce C++ cù facilità di verificazione di tipu più avanzata.

Hè nutatu chì i sviluppatori ùn si mettenu micca u scopu di riscrive immediatamente tutta a libtransmission in C ++, ma intendenu implementà a transizione à C ++ gradualmente, cuminciendu cù a transizione à cumpilà u prughjettu cù u compilatore C ++. In a so forma attuale, u compilatore C ùn pò più esse usatu per l'assemblea, postu chì certi custruzzioni specifichi di C ++ sò stati aghjuntu à u codice, cum'è a keyword "auto" è cunversione di tipu cù l'operatore "static_cast". U supportu per e funzioni C anziane hè previstu per esse per a cumpatibilità, ma i sviluppatori sò avà incuraghjiti à utilizà std::sort() invece di qsort() è std::vector invece di tr_ptrArray. constexpr invece di tr_strdup() è std::vector invece di tr_ptrArray.

Source: opennet.ru

Add a comment