Kliyan BitTorrent Transmisyon chanje soti nan C a C++

Bibliyotèk libtransmission, ki se baz kliyan Transmission BitTorrent, te tradui nan C++. Transmisyon toujou gen koneksyon ak aplikasyon an nan koòdone itilizatè (GTK koòdone, daemon, CLI), ekri nan lang C a, men asanble kounye a mande pou yon du C++. Anvan sa, sèlman koòdone ki baze sou Qt te ekri nan C++ (kliyan an pou macOS te nan Objective-C, koòdone entènèt la te nan JavaScript, ak tout lòt bagay te nan C).

Se Charles Kerr, lidè pwojè a ak otè koòdone Transmisyon ki baze sou Qt. Rezon prensipal pou chanje tout pwojè a nan C++ se santiman ke lè w ap fè chanjman nan libtransmission ou toujou ap oblije reenvante volan an, menm si gen solisyon pare pou pwoblèm ki sanble nan bibliyotèk C++ estanda (pa egzanp, li te nesesè. pou kreye pwòp fonksyon ou tr_quickfindFirstK() ak tr_ptrArray() nan prezans std::partial_sort() ak std::vector()), osi byen ke bay C++ ak enstalasyon tcheke kalite ki pi avanse.

Li te note ke devlopè yo pa fikse objektif pou yo imedyatman reekri libtransmisyon an antye nan C++, men gen entansyon aplike tranzisyon an nan C++ piti piti, kòmanse ak tranzisyon an konpile pwojè a lè l sèvi avèk C++ du. Nan fòm li ye kounye a, konpilatè C a pa ka itilize ankò pou asanble, depi kèk konstriksyon espesifik C++ yo te ajoute nan kòd la, tankou mo kle "oto" ak konvèsyon kalite lè l sèvi avèk operatè "static_cast" la. Sipò pou ansyen fonksyon C yo planifye pou yo rete pou konpatibilite, men kounye a ankouraje devlopè yo pou yo itilize std::sort() olye de qsort() ak std::vector olye de tr_ptrArray. constexpr olye de tr_strdup() ak std::vector olye de tr_ptrArray.

Sous: opennet.ru

Add nouvo kòmantè