Nbufe ndị ahịa BitTorrent na-esi na C gaa na C++

Atụgharịla ọbá akwụkwọ libtransmission, nke bụ ihe ndabere nke ndị ahịa Transmission BitTorrent, ka a tụgharịrị gaa na C++. Mbufe ka nwere njikọ na mmejuputa interfaces onye ọrụ (GTK interface, daemon, CLI), nke edere n'asụsụ C, mana mgbakọ na-achọzi onye nchịkọta C++. Na mbụ, ọ bụ naanị interface Qt ka edere na C ++ (onye ahịa maka macOS nọ na Objective-C, interface weebụ dị na Javascript, na ihe ọ bụla ọzọ dị na C).

Ọ bụ Charles Kerr, onye ndu oru ngo na onye dere ihe ntụgharị mgbasa ozi dabere na Qt. Isi ihe mere ị ga-eji gbanwee ọrụ ahụ dum na C ++ bụ mmetụta na mgbe ị na-eme mgbanwe na libtransmission, ị ghaghị ịmaliteghachi wiil ahụ mgbe niile, n'agbanyeghị na e nwere ihe ngwọta dị njikere maka nsogbu ndị yiri ya na ọkọlọtọ C ++ (dịka ọmụmaatụ, ọ dị mkpa. iji mepụta ọrụ nke gị tr_quickfindFirstK () na tr_ptrArray () n'ihu std: partial_sort () na std :: vector ()), yana inye C ++ ụlọ ọrụ nyocha ụdị dị elu karịa.

A na-achọpụta na ndị mmepe anaghị etinye onwe ha ihe mgbaru ọsọ nke idegharị libtransmission ozugbo na C ++, kama ha bu n'obi mejuputa mgbanwe na C ++ nke nta nke nta, malite na ntughari iji chịkọta ọrụ ahụ site na iji C ++ compiler. N'ụdị dị ugbu a, enweghị ike iji C compiler mee ihe maka mgbakọ, ebe ọ bụ na agbakwunyere ụfọdụ ihe nrụpụta C ++ na koodu ahụ, dị ka mkpụrụokwu “akpaaka” na ụdị ntụgharị site na iji onye ọrụ “static_cast”. A na-eme atụmatụ nkwado maka ọrụ C megoro ka ọ dịrị maka ndakọrịta, mana a na-agba ndị mmepe ume ka ha jiri std :: ụdị () kama qsort () na std :: vector kama ịbụ tr_ptrArray. constexpr kama tr_strdup () na std :: vector kama tr_ptrArray.

isi: opennet.ru

Tinye a comment