Gudbinta macmiilka BitTorrent waxay ka beddeshaa C ilaa C++

Maktabadda gudbinta, oo ah saldhigga gudbinta macmiilka BitTorrent, ayaa loo turjumay C++. Gudbintu wali waxay leedahay xidhidhyo ku saabsan hirgelinta is-dhexgalka isticmaalaha (GTK interface, daemon, CLI), oo ku qoran luqadda C, laakiin isu-ururinta hadda waxay u baahan tahay iskudubarid C++. Markii hore, kaliya interface-ku-saleysan Qt ayaa lagu qoray C ++ (macmiilka macOS wuxuu ku jiray Ujeeddo-C, interface interface wuxuu ku jiray JavaScript, wax walbana waxay ku jireen C).

Dejinta waxaa fuliyay Charles Kerr, hogaamiyaha mashruuca iyo qoraaga isdhexgalka Gudbinta ee ku salaysan Qt. Sababta ugu weyn ee mashruuca oo dhan loogu beddelo C ++ waa dareenka ah in marka isbeddel lagu sameeyo libtransmission aad si joogto ah u leedahay in ay dib u soo nooleeyaan giraangiraha, in kasta oo ay jiraan xal diyaar u ah dhibaatooyinka la mid ah ee maktabadda C ++ caadiga ah (tusaale ahaan, waa lagama maarmaan. si aad u abuurto hawlahaaga tr_quickfindFirstK () iyo tr_ptrArray () iyadoo ay joogaan std: partial_sort () iyo std :: vector ()), iyo sidoo kale bixinta C++ qalab hubinta nooca horumarsan.

Waxaa la xusay in horumariyayaashu aysan naftooda dejin hadafka ah inay isla markiiba dib u qoraan dhammaan libtransmission ee C ++, laakiin waxay rabaan inay hirgeliyaan u-guurka C++ si tartiib tartiib ah, laga bilaabo u-guurka si ay u ururiyaan mashruuca iyagoo isticmaalaya C++ compiler. Qaabka uu hadda yahay, isku xidhaha C hadda looma isticmaali karo isu imaatinka, maadaama qaar ka mid ah dhismooyinka C++ lagu daray koodka, sida ereyga “auto” iyo nooca beddelka iyadoo la isticmaalayo hawlwadeenka “static_cast”. Taageerada hawlaha C ee da'da weyn ayaa loo qorsheeyay inay sii ahaato waafaqsanaanta, laakiin horumariyayaashu hadda waxaa lagu dhiirigelinayaa inay isticmaalaan std :: nooc () halkii ay ka isticmaali lahaayeen qsort () iyo std :: vector halkii ay ka isticmaali lahaayeen tr_ptrArray. constexpr halkii tr_strdup () iyo std :: vector halkii tr_ptrArray.

Source: opennet.ru

Add a comment