เบเบฒเบ™เบชเบปเปˆเบ‡เบฅเบนเบเบ‚เปˆเบฒเบ BitTorrent เบ›เปˆเบฝเบ™เบˆเบฒเบ C เบซเบฒ C++

เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” libtransmission, เป€เบŠเบดเปˆเบ‡เป€เบ›เบฑเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒ Transmission BitTorrent, เป„เบ”เป‰เบ–เบทเบเปเบ›เป€เบ›เบฑเบ™ C ++. เบเบฒเบ™เบ–เปˆเบฒเบเบ—เบญเบ”เบเบฑเบ‡เบกเบตเบเบฒเบ™เบœเบนเบเบกเบฑเบ”เบเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบœเบนเป‰เปƒเบŠเป‰ (เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš GTK, daemon, CLI), เบ‚เบฝเบ™เปƒเบ™เบžเบฒเบชเบฒ C, เปเบ•เปˆเบเบฒเบ™เบ›เบฐเบเบญเบšเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเบเบฒเบ™เบฅเบงเบšเบฅเบงเบก C ++. เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰, เบกเบตเบžเบฝเบ‡เปเบ•เปˆเบ•เบปเบงเป‚เบ•เป‰เบ•เบญเบšเบ—เบตเปˆเบญเบตเบ‡เปƒเบชเปˆ Qt เบ—เบตเปˆเบ–เบทเบเบ‚เบฝเบ™เป„เบงเป‰เปƒเบ™ C ++ (เบฅเบนเบเบ„เป‰เบฒเบชเปเบฒเบฅเบฑเบš macOS เปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™ Objective-C, เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเป€เบงเบฑเบšเปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™ JavaScript, เปเบฅเบฐเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบญเบทเปˆเบ™เปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™ C).

เบเบฒเบ™เบžเบญเบ”เปเบกเปˆเบ™เบ”เปเบฒเป€เบ™เบตเบ™เป‚เบ”เบ Charles Kerr, เบœเบนเป‰เบ™เปเบฒเป‚เบ„เบ‡เบเบฒเบ™เปเบฅเบฐเบœเบนเป‰เบ‚เบฝเบ™เบ‚เบญเบ‡เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบเบฒเบ™เบชเบปเปˆเบ‡เบ•เปเปˆเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ Qt. เป€เบซเบ”เบœเบปเบ™เบ•เบปเป‰เบ™เบ•เปเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เปˆเบฝเบ™เป‚เบ„เบ‡เบเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เป€เบ›เบฑเบ™ C ++ เปเบกเปˆเบ™เบ„เบงเบฒเบกเบฎเบนเป‰เบชเบถเบเบงเปˆเบฒเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเป€เบฎเบฑเบ”เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบเบฒเบ™เบชเบปเปˆเบ‡เบ•เปเปˆ libtransmission เบ—เปˆเบฒเบ™เบชเบฐเป€เบซเบกเบตเบ•เป‰เบญเบ‡ reinvent เบฅเปเป‰, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบกเบตเบเบฒเบ™เปเบเป‰เป„เบ‚เบ—เบตเปˆเบเบฝเบกเบžเป‰เบญเบกเบชเปเบฒเบฅเบฑเบšเบšเบฑเบ™เบซเบฒเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบขเบนเปˆเปƒเบ™เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” C ++ เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ (เบ•เบปเบงเบขเปˆเบฒเบ‡, เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบˆเปเบฒเป€เบ›เบฑเบ™. เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบซเบ™เป‰เบฒเบ—เบตเปˆเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป€เบญเบ‡ tr_quickfindFirstK() เปเบฅเบฐ tr_ptrArray() เปƒเบ™เบ—เบตเปˆเบ›เบฐเบ—เบฑเบšเบ‚เบญเบ‡ std: :partial_sort() เปเบฅเบฐ std::vector()), เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบญเบ‡ C ++ เบ—เบตเปˆเบกเบตเบญเบธเบ›เบฐเบเบญเบ™เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ›เบฐเป€เบžเบ”เบ—เบตเปˆเบเป‰เบฒเบงเบซเบ™เป‰เบฒ.

เบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เบงเปˆเบฒเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบšเปเปˆเป„เบ”เป‰เบ•เบฑเป‰เบ‡เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเปƒเบ™เบเบฒเบ™เบ‚เบฝเบ™เบ„เบทเบ™เปƒเบซเบกเปˆเบ‚เบญเบ‡ libtransmission เบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™ C ++, เปเบ•เปˆเบ•เบฑเป‰เบ‡เปƒเบˆเบ—เบตเปˆเบˆเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบซเบฑเบ™เบ›เปˆเบฝเบ™เป„เบ›เบชเบนเปˆ C ++ เบ„เปˆเบญเบเป†, เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบเบเบฒเบ™เบซเบฑเบ™เป„เบ›เบชเบนเปˆเบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเป‚เบ„เบ‡เบเบฒเบ™เป‚เบ”เบเปƒเบŠเป‰ C ++ compiler. เปƒเบ™เบฎเบนเบšเปเบšเบšเบ›เบฐเบˆเบธเบšเบฑเบ™เบ‚เบญเบ‡เบกเบฑเบ™, C compiler เบšเปเปˆเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบเบญเบšเป„เบ”เป‰เบญเบตเบเบ•เปเปˆเป„เบ›, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบšเบฒเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบชเบฐเป€เบžเบฒเบฐ C++ เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เบฅเบฐเบซเบฑเบ”, เป€เบŠเบฑเปˆเบ™: เบ„เปเบฒเบชเปเบฒเบ„เบฑเบ™ "เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”" เปเบฅเบฐเบ›เบฐเป€เบžเบ”เบเบฒเบ™เปเบ›เบ‡เป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ "static_cast". เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบŸเบฑเบ‡เบŠเบฑเบ™ C เป€เบเบปเปˆเบฒเปเบกเปˆเบ™เบงเบฒเบ‡เปเบœเบ™เบ—เบตเปˆเบˆเบฐเบเบฑเบ‡เบ„เบปเบ‡เบขเบนเปˆเป€เบžเบทเปˆเบญเบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰, เปเบ•เปˆเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเป„เบ”เป‰เบ–เบทเบเบŠเบธเบเบเบนเป‰เปƒเบซเป‰เปƒเบŠเป‰ std::sort() เปเบ—เบ™ qsort() เปเบฅเบฐ std::vector เปเบ—เบ™ tr_ptrArray. constexpr เปเบ—เบ™ tr_strdup() เปเบฅเบฐ std::vector เปเบ—เบ™ tr_ptrArray.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™