Ka huri te whakawhiti a te kiritaki BitTorrent mai i te C ki te C++

Ko te whare pukapuka libtransmission, ko te putake o te kiritaki Transmission BitTorrent, kua whakamaoritia ki C++. He here tonu te tuku me te whakatinanatanga o nga atanga kaiwhakamahi (atanga GTK, daemon, CLI), kua tuhia ki te reo C, engari ko te huihuinga inaianei e hiahia ana he C++ compiler. I mua, ko te atanga Qt anake i tuhia ki te C++ (ko te kiritaki mo te macOS kei roto i te Objective-C, kei te JavaScript te atanga tukutuku, kei te C nga mea katoa).

I whakahaerehia te tauranga e Charles Kerr, te kaihautu kaupapa me te kaituhi o te atanga Whakawhiti i runga i te Qt. Ko te take nui mo te huri i te kaupapa katoa ki te C ++ ko te whakaaro ka huri koe ki te libtransmission me whakahou tonu koe i te wira, ahakoa he otinga kua rite mo nga raru rite kei roto i te whare pukapuka C++ paerewa (hei tauira, he mea tika. ki te hanga i a koe ake mahi tr_quickfindFirstK() me tr_ptrArray() i te aroaro o std: :partial_sort() me std::vector()), me te whakarato C++ ki nga whakaurunga arowhai momo matatau ake.

Kei te tohuhia kaore nga kaihanga e whakatakoto ana i a raatau ano te kaupapa o te tuhi ano i te katoa o te libtransmission i C ++, engari e whakaaro ana ki te whakatinana i te whakawhiti ki te C ++ āta, timata mai i te whakawhiti ki te whakahiato i te kaupapa ma te whakamahi i te C++ compiler. I roto i tona ahua o naianei, kaore e taea te whakamahi i te C compiler mo te huihuinga, no te mea kua whakauruhia etahi C++-hanga motuhake ki te waehere, penei i te kupu matua "aunoa" me nga momo whakawhitinga ma te whakamahi i te kaiwhakahaere "static_cast". Ko te tautoko mo nga mahi tawhito C kua whakamaheretia kia noho mo te hototahi, engari kei te akiakihia nga kaiwhakawhanake ki te whakamahi i te std:: sort() hei utu mo te qsort() me te std::vector hei utu mo te tr_ptrArray. constexpr hei utu mo tr_strdup() me std::vector hei utu mo tr_ptrArray.

Source: opennet.ru

Tāpiri i te kōrero