ரஸ்ட் 1.67 நிரலாக்க மொழி வெளியீடு

ரஸ்ட் 1.67 பொது-நோக்க நிரலாக்க மொழியின் வெளியீடு, Mozilla திட்டத்தால் நிறுவப்பட்டது, ஆனால் இப்போது சுயாதீனமான இலாப நோக்கற்ற அமைப்பான Rust Foundation இன் அனுசரணையில் உருவாக்கப்பட்டது, வெளியிடப்பட்டது. மொழி நினைவகப் பாதுகாப்பில் கவனம் செலுத்துகிறது மற்றும் குப்பை சேகரிப்பான் மற்றும் இயக்க நேரத்தைப் பயன்படுத்துவதைத் தவிர்க்கும் அதே வேளையில் அதிக வேலை இணைத்தன்மையை அடைவதற்கான வழிமுறைகளை வழங்குகிறது (இயக்க நேரம் நிலையான நூலகத்தின் அடிப்படை துவக்கம் மற்றும் பராமரிப்புக்கு குறைக்கப்படுகிறது).

ரஸ்டின் நினைவக கையாளுதல் முறைகள், சுட்டிகளைக் கையாளும் போது ஏற்படும் பிழைகளிலிருந்து டெவலப்பரைக் காப்பாற்றுவதோடு, நினைவகப் பகுதியை விடுவித்த பிறகு அணுகுவது, பூஜ்ய சுட்டிகளைத் தவிர்ப்பது, இடையக மீறல்கள் போன்றவை போன்ற குறைந்த அளவிலான நினைவகக் கையாளுதலால் ஏற்படும் சிக்கல்களிலிருந்து பாதுகாக்கிறது. நூலகங்களை விநியோகிக்க, கட்டமைக்க மற்றும் சார்புகளை நிர்வகிக்க, திட்டம் சரக்கு தொகுப்பு மேலாளரை உருவாக்குகிறது. நூலகங்களை வழங்குவதற்கு crates.io களஞ்சியம் துணைபுரிகிறது.

குறிப்புச் சரிபார்ப்பு, பொருளின் உரிமையைக் கண்காணித்தல், பொருளின் ஆயுட்காலம் (நோக்குகள்) ஆகியவற்றைக் கண்காணிப்பது மற்றும் குறியீடு செயலாக்கத்தின் போது நினைவக அணுகலின் சரியான தன்மையை மதிப்பிடுதல் ஆகியவற்றின் மூலம் தொகுக்கும் நேரத்தில் ரஸ்டில் நினைவகப் பாதுகாப்பு வழங்கப்படுகிறது. ரஸ்ட் முழு எண் வழிதல்களுக்கு எதிராக பாதுகாப்பை வழங்குகிறது, பயன்பாட்டிற்கு முன் மாறி மதிப்புகளை கட்டாயமாக துவக்க வேண்டும், நிலையான நூலகத்தில் பிழைகளை சிறப்பாக கையாளுகிறது, இயல்புநிலையாக மாறாத குறிப்புகள் மற்றும் மாறிகளின் கருத்தைப் பயன்படுத்துகிறது, தருக்க பிழைகளைக் குறைக்க வலுவான நிலையான தட்டச்சு வழங்குகிறது.

முக்கிய கண்டுபிடிப்புகள்:

  • ஃபியூச்சர்::அவுட்புட் உடன் ஒத்திசைவு செயல்பாடுகளுக்கு, "#[கட்டாயம்_பயன்படுத்த_பயன்படுத்துங்கள்]" குறிப்புகளைக் குறிப்பிடுவது இப்போது சாத்தியமாகும், இதில் திரும்பிய மதிப்பு புறக்கணிக்கப்பட்டால் எச்சரிக்கையும் அடங்கும், இது செயல்பாடு மதிப்புகளை மாற்றும் என்ற அனுமானத்தால் ஏற்படும் பிழைகளை அடையாளம் காண உதவுகிறது. புதிய மதிப்பைத் திருப்பித் தருவதை விட. #[கட்டாயம்_பயன்படுத்த வேண்டும்] async fn bar() -> u32 {0 } async fn caller() {bar().waiit; } எச்சரிக்கை: எதிர்காலத்தின் பயன்படுத்தப்படாத வெளியீடு `பார்` மூலம் திரும்பப் பெறப்படும், அது பயன்படுத்தப்பட வேண்டும் —> src/lib.rs:5:5 | 5 | பார்().காத்திருங்கள்; | ^^^^^^^^^^^^ | = குறிப்பு: இயல்புநிலையாக `#[எச்சரிக்கை (unused_must_use)]` ஆன்
  • FIFO வரிசைகளின் செயலாக்கம் std::sync::mpsc (மல்டி-புரொட்யூசர் ஒற்றை-நுகர்வோர்) புதுப்பிக்கப்பட்டது, இது முந்தைய API ஐப் பராமரிக்கும் போது கிராஸ்பீம்-சேனல் தொகுதியைப் பயன்படுத்துவதற்கு மாற்றப்பட்டது. பல சிக்கல்களைத் தீர்ப்பது, அதிக செயல்திறன் மற்றும் எளிமைப்படுத்தப்பட்ட குறியீடு பராமரிப்பு ஆகியவற்றின் மூலம் புதிய செயலாக்கம் வேறுபடுகிறது.
  • API இன் ஒரு புதிய பகுதி நிலையான வகைக்கு நகர்த்தப்பட்டது, இதில் பண்புகளின் முறைகள் மற்றும் செயலாக்கங்கள் உறுதிப்படுத்தப்பட்டுள்ளன:
    • {integer}::checked_ilog
    • {integer}::checked_ilog2
    • {integer}::checked_ilog10
    • {integer}::ilog
    • {integer}::ilog2
    • {integer}::ilog10
    • ZeroU*::ilog2
    • ZeroU*::ilog10
    • Zero அல்லாத*::BITS
  • மாறிலிகளுக்குப் பதிலாக எந்தச் சூழலிலும் பயன்படுத்துவதற்கான சாத்தியத்தை நிர்ணயிக்கும் "const" பண்புக்கூறு செயல்பாடுகளில் பயன்படுத்தப்படுகிறது:
    • சார்::from_u32
    • char:: from_digit
    • char::to_digit
    • core::char::from_u32
    • core::char::from_digit
  • Linux கர்னலில் (linuxkernel) ரஸ்ட்டைப் பயன்படுத்துவதற்கு மூன்றாம் நிலை ஆதரவு செயல்படுத்தப்பட்டுள்ளது, அதே போல் Sony PlayStation 1 (mipsel-sony-psx), PowerPC உடன் AIX (powerpc64-ibm-aix), QNX நியூட்ரினோ RTOS ( aarch64-unknown-nto-) இயங்குதளங்கள் qnx710, x86_64-pc-nto-qnx710). மூன்றாம் நிலை அடிப்படை ஆதரவை உள்ளடக்கியது, ஆனால் தானியங்கு சோதனை இல்லாமல், அதிகாரப்பூர்வ உருவாக்கங்களை வெளியிடுதல் அல்லது குறியீட்டை உருவாக்க முடியுமா என்பதைச் சரிபார்த்தல்.

கூடுதலாக, ரஸ்ட் மொழியைப் பயன்படுத்துவதன் மூலம் இயக்கிகள் மற்றும் AArch64 கட்டமைப்பின் அடிப்படையில் அமைப்புகளுக்காக அசெம்பிள் செய்யப்பட்ட லினக்ஸ் கர்னல் தொகுதிகள் உருவாக்க அனுமதிக்கும் இணைப்புகளின் ARM மூலம் வெளியிடப்பட்டதை நாம் கவனிக்கலாம்.

ஆதாரம்: opennet.ru

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