BitTorrent கிளையன்ட் டிரான்ஸ்மிஷன் C இலிருந்து C++ க்கு மாறுகிறது

டிரான்ஸ்மிஷன் பிட்டோரண்ட் கிளையண்டின் அடிப்படையான லிப்ட்ரான்ஸ்மிஷன் லைப்ரரி, சி++ ஆக மொழிபெயர்க்கப்பட்டுள்ளது. சி மொழியில் எழுதப்பட்ட பயனர் இடைமுகங்களை (ஜிடிகே இடைமுகம், டீமான், சிஎல்ஐ) செயல்படுத்துவதில் டிரான்ஸ்மிஷன் இன்னும் பிணைப்புகளைக் கொண்டுள்ளது, ஆனால் அசெம்பிளிக்கு இப்போது சி++ கம்பைலர் தேவைப்படுகிறது. முன்னதாக, Qt- அடிப்படையிலான இடைமுகம் மட்டுமே C++ இல் எழுதப்பட்டது (macOS க்கான கிளையன்ட் குறிக்கோள்-C இல் இருந்தது, வலை இடைமுகம் JavaScript இல் இருந்தது, மற்ற அனைத்தும் C இல் இருந்தது).

Qt ஐ அடிப்படையாகக் கொண்ட டிரான்ஸ்மிஷன் இடைமுகத்தின் திட்டத் தலைவரும் ஆசிரியருமான சார்லஸ் கெர் மூலம் போர்டிங் மேற்கொள்ளப்பட்டது. முழு திட்டத்தையும் C++ க்கு மாற்றுவதற்கான முக்கிய காரணம், நிலையான C++ நூலகத்தில் இதே போன்ற சிக்கல்களுக்கு ஆயத்த தீர்வுகள் இருந்தாலும், லிப்ட்ரான்ஸ்மிஷனில் மாற்றங்களைச் செய்யும்போது நீங்கள் தொடர்ந்து சக்கரத்தை மீண்டும் கண்டுபிடிக்க வேண்டும் என்ற உணர்வு (உதாரணமாக, இது அவசியம். உங்கள் சொந்த செயல்பாடுகளை உருவாக்க tr_quickfindFirstK() மற்றும் tr_ptrArray() std: :partial_sort() மற்றும் std::vector()), மேலும் மேம்பட்ட வகை சரிபார்ப்பு வசதிகளுடன் C++ ஐ வழங்குகிறது.

டெவலப்பர்கள் உடனடியாக முழு லிப்டிரான்ஸ்மிஷனையும் C++ இல் மீண்டும் எழுதும் இலக்கை நிர்ணயிக்கவில்லை, ஆனால் C++ கம்பைலரைப் பயன்படுத்தி திட்டத்தை தொகுக்கும் மாற்றத்தில் தொடங்கி படிப்படியாக C++ க்கு மாற்றத்தை செயல்படுத்த விரும்புகிறார்கள் என்பது குறிப்பிடத்தக்கது. அதன் தற்போதைய வடிவத்தில், C கம்பைலரை இனி அசெம்பிளிக்காகப் பயன்படுத்த முடியாது, ஏனெனில் சில C++-குறிப்பிட்ட கட்டுமானங்கள் குறியீட்டில் சேர்க்கப்பட்டுள்ளன, அதாவது “தானியங்கு” முக்கிய வார்த்தை மற்றும் “static_cast” ஆபரேட்டரைப் பயன்படுத்தி வகை மாற்றங்கள். பழைய C செயல்பாடுகளுக்கான ஆதரவு இணக்கத்தன்மைக்காக இருக்க திட்டமிடப்பட்டுள்ளது, ஆனால் டெவலப்பர்கள் இப்போது qsort() க்குப் பதிலாக std::sort() மற்றும் tr_ptrArrayக்குப் பதிலாக std:: vector ஐப் பயன்படுத்த ஊக்குவிக்கப்படுகிறார்கள். tr_strdup() க்கு பதிலாக constexpr மற்றும் tr_ptrArray க்கு பதிலாக std:: vector.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்