Ang BitTorrent client Transmission mobalhin gikan sa C ngadto sa C++

Ang librarya sa libtransmission, nga mao ang sukaranan sa kliyente sa Transmission BitTorrent, gihubad sa C++. Ang transmission aduna pa'y mga binding sa pagpatuman sa mga user interface (GTK interface, daemon, CLI), nga gisulat sa C nga pinulongan, apan ang asembliya karon nagkinahanglan og C++ compiler. Kaniadto, ang interface nga nakabase sa Qt ra ang gisulat sa C++ (ang kliyente alang sa macOS naa sa Objective-C, ang web interface naa sa JavaScript, ug ang tanan naa sa C).

Ang porting gihimo ni Charles Kerr, ang project leader ug author sa Transmission interface base sa Qt. Ang panguna nga hinungdan sa pagbalhin sa tibuuk nga proyekto sa C ++ mao ang pagbati nga kung maghimo mga pagbag-o sa libtransmission kanunay nimo kinahanglan nga i-reinvent ang ligid, bisan kung adunay mga andam nga solusyon alang sa parehas nga mga problema sa standard nga librarya sa C++ (pananglitan, kinahanglan kini. sa paghimo sa imong kaugalingon nga mga function tr_quickfindFirstK() ug tr_ptrArray() sa presensya sa std::partial_sort() ug std::vector()), ingon man usab sa paghatag sa C++ sa mas advanced type checking facilities.

Namatikdan nga ang mga developers wala magbutang sa ilang kaugalingon sa tumong sa diha-diha dayon nga pagsulat pag-usab sa tibuok libtransmission sa C ++, apan nagtinguha sa pagpatuman sa transisyon ngadto sa C ++ sa hinay-hinay, sugod sa transisyon ngadto sa pag-compile sa proyekto gamit ang C++ compiler. Sa kasamtangan nga porma niini, ang C compiler dili na magamit alang sa asembliya, tungod kay ang pipila ka C++-specific constructs gidugang sa code, sama sa "auto" nga keyword ug type nga mga conversion gamit ang "static_cast" operator. Ang suporta alang sa mas karaan nga mga C function giplano nga magpabilin alang sa pagkaangay, apan ang mga developers karon giawhag sa paggamit sa std:: sort() imbes sa qsort() ug std::vector imbes sa tr_ptrArray. constexpr imbes nga tr_strdup() ug std::vector imbes nga tr_ptrArray.

Source: opennet.ru

Idugang sa usa ka comment