د BitTorrent پیرودونکي لیږد له C څخه C++ ته بدلیږي

د libtransmission کتابتون، کوم چې د لیږد BitTorrent مراجع بنسټ دی، په C++ کې ژباړل شوی. لیږد لاهم د کارونکي انٹرفیس (GTK انٹرفیس ، ډیمون ، CLI) پلي کولو سره پابندۍ لري ، په C ژبه لیکل شوي ، مګر مجلس اوس C++ کمپیلر ته اړتیا لري. مخکې، یوازې د Qt-based انٹرفیس په C++ کې لیکل شوی و (د macOS لپاره مراجع په هدف-C کې و، د ویب انټرفیس په جاواسکریپټ کې و، او نور هرڅه په C کې وو).

پورټینګ د چارلس کیر لخوا ترسره شوی ، د پروژې مشر او د Qt پراساس د لیږد انٹرفیس لیکوال. د ټولې پروژې C++ ته د بدلولو اصلي دلیل دا احساس دی چې کله د لیب ټرانسمیشن کې بدلونونه رامینځته کول تاسو باید په دوامداره توګه څرخ له سره ایجاد کړئ ، که څه هم په معیاري C++ کتابتون کې د ورته ستونزو لپاره چمتو شوي حلونه شتون لري (د مثال په توګه ، دا اړینه وه. د std::partial_sort() او std::vector() په شتون کې د خپلو دندو د جوړولو لپاره tr_quickfindFirstK() او tr_ptrArray()، او همدارنګه د نورو پرمختللو ډولونو چک کولو اسانتیاوو سره C++ چمتو کول.

د یادونې وړ ده چې پراختیا کونکي په C++ کې د بشپړ لیبټرانسمیشن سمدلاسه د بیا لیکلو هدف ځان ته نه ټاکي ، مګر اراده لري چې C++ ته لیږد په تدریجي ډول پلي کړي ، د C++ کمپیلر په کارولو سره د پروژې تالیف کولو لیږد سره پیل کوي. په اوسنۍ بڼه کې، د C کمپیلر نور د اسمبلۍ لپاره نشي کارول کیدی، ځکه چې ځینې C++ ځانګړي جوړښتونه په کوډ کې اضافه شوي، لکه د "آټو" کلیدي کلمه او د "static_cast" آپریټر په کارولو سره د تبادلو ډول. د زړو C دندو لپاره ملاتړ پلان شوی چې د مطابقت لپاره پاتې شي ، مګر پراختیا کونکي اوس هڅول کیږي چې د std::sort() پرځای د qsort() او std::vector د tr_ptrArray پرځای وکاروي. د tr_strdup() پر ځای constexpr او د tr_ptrArray پر ځای std::vector.

سرچینه: opennet.ru

Add a comment