BitTorrent ደንበኛ ማስተላለፍ ከ C ወደ C ++ ይንቀሳቀሳል

የማስተላለፍ BitTorrent ደንበኛ መሠረት የሆነው የlibtransmission ቤተ-መጽሐፍት ወደ C ++ ተተርጉሟል። ማስተላለፍ አሁንም የተጠቃሚ በይነገጽ (GTK በይነገጽ፣ ዴሞን፣ CLI) በC ቋንቋ ከተፃፈ ጋር ተያያዥነት አለው፣ነገር ግን ስብሰባ አሁን የC++ ማጠናከሪያ ይፈልጋል። ከዚህ ቀደም Qt ላይ የተመሰረተ በይነገጽ ብቻ በC ++ ተጽፏል (የማክኦኤስ ደንበኛ በ Objective-C፣ የድር በይነገጽ በጃቫስክሪፕት ነበር፣ እና ሁሉም ነገር በሲ ውስጥ ነበር)።

ማጓጓዣው የተካሄደው በ Qt ላይ የተመሰረተ የፕሮጀክት መሪ እና የማስተላለፊያ በይነገጽ ደራሲ በሆነው ቻርለስ ኬር ነው። አጠቃላይ ፕሮጄክቱን ወደ C++ ለመቀየር ዋናው ምክንያት በመደበኛው C ++ ላይብረሪ ውስጥ ለተመሳሳይ ችግሮች ዝግጁ የሆኑ መፍትሄዎች ቢኖሩም (ለምሳሌ ፣ አስፈላጊ ነበር) በlibtransmission ላይ ለውጦችን ሲያደርጉ ሁል ጊዜ ተሽከርካሪውን እንደገና ማደስ አለብዎት የሚል ስሜት ነው። የእራስዎን ተግባራት ለመፍጠር tr_quickfindFirstK () እና tr_ptrArray () በ std: partial_sort () እና std :: vector () ፊት ለፊት, እንዲሁም C ++ የበለጠ የላቀ የፍተሻ መሳሪያዎችን ያቀርባል.

ገንቢዎቹ በC++ ውስጥ ያለውን አጠቃላይ የሊብ ስርጭትን ወዲያውኑ የመፃፍ ግብ እንዳላደረጉ፣ ነገር ግን ወደ C++ የሚደረገውን ሽግግር ቀስ በቀስ ተግባራዊ ለማድረግ እንዳሰቡ እና የ C++ ማጠናከሪያውን በመጠቀም ፕሮጀክቱን ወደ ማጠናቀር ሽግግር ለማድረግ እንዳሰቡ ልብ ሊባል ይገባል። አሁን ባለው ቅጽ፣ C compiler ከአሁን በኋላ ለመገጣጠም ጥቅም ላይ ሊውል አይችልም፣ ምክንያቱም አንዳንድ የC++-የተወሰኑ ግንባታዎች በኮዱ ላይ ስለተጨመሩ፣ እንደ “ራስ-ሰር” ቁልፍ ቃል እና የ“ስታቲክ_ካስት” ኦፕሬተርን በመጠቀም ልወጣዎችን ይተይቡ። ለአሮጌ የC ተግባራት ድጋፍ ለተኳሃኝነት እንዲቆይ ታቅዷል፣ ነገር ግን ገንቢዎች አሁን በ qsort() እና std:: vector ይልቅ tr_ptrArray ይልቅ std:: ዓይነት () እንዲጠቀሙ ይበረታታሉ። constexpr ከ tr_strdup () እና std :: vector ይልቅ tr_ptrArray።

ምንጭ: opennet.ru

አስተያየት ያክሉ