Rust 1.64 د پروګرام کولو ژبې خپرول

د Rust 1.64 عمومي هدف پروګرام کولو ژبې خپرول، چې د موزیلا پروژې لخوا تاسیس شوی، مګر اوس د خپلواک غیر انتفاعي موسسې Rust Foundation تر څارنې لاندې رامینځته شوی، خپور شوی. ژبه د حافظې خوندیتوب باندې تمرکز کوي او د لوړې دندې موازي کولو لپاره وسیلې چمتو کوي پداسې حال کې چې د کثافاتو راټولونکي او رن ټایم کارولو څخه مخنیوی کوي (د چلولو وخت د معیاري کتابتون لومړني پیل او ساتنې ته کم شوی).

د زنګ د حافظې اداره کولو میتودونه پرمخ وړونکي د خطا څخه ژغوري کله چې د پوائنټرونو مینځل کیږي او د هغو ستونزو په وړاندې ساتنه کوي چې د ټیټې کچې حافظې اداره کولو له امله رامینځته کیږي ، لکه د حافظې ساحې ته لاسرسی وروسته له دې چې خلاص شو ، د نول پوائنټرونو ته اشاره کول ، د بفر اوورونونه او نور. د کتابتونونو توزیع کولو، جوړونه چمتو کول او د انحصارونو اداره کول، پروژه د کارګو پیکج مدیر ته وده ورکوي. د crates.io ذخیره د کتابتونونو کوربه کولو لپاره ملاتړ کیږي.

د حافظې خوندیتوب د تالیف په وخت کې په زنګ کې د حوالې چیک کولو له لارې چمتو کیږي ، د شیانو ملکیت تعقیب ساتل ، د څیز ژوند وخت (سکوپس) ساتل ، او د کوډ اجرا کولو پرمهال د حافظې لاسرسي سموالي ارزول. زنګ د انټیجر د زیاتیدو پروړاندې محافظت هم چمتو کوي ، د کارونې دمخه د متغیر ارزښتونو لازمي ابتکار ته اړتیا لري ، په معیاري کتابتون کې خطاګانې په ښه توګه اداره کوي ، د ډیفالټ لخوا د بدلیدونکي حوالې او متغیر مفهوم پلي کوي ، د منطقي غلطیو کمولو لپاره قوي جامد ټایپ وړاندیز کوي.

اصلي نوښتونه:

  • د چاپیریال لپاره زیاتې اړتیاوې Linux په کمپیلر، د کارګو پیکج مدیر، او معیاري کتابتون libstd کې، د Glibc لپاره لږترلږه اړتیاوې د 2.11 نسخې څخه 2.17 ته لوړې شوې دي، او دانه Linux د 2.6.32 څخه تر 3.2 نسخې پورې. دا محدودیتونه د libstd سره جوړ شوي د Rust غوښتنلیک اجرایوي وړونو باندې هم پلي کیږي. RHEL 7، SLES 12-SP5، او نور توزیعونه د نوي اړتیاو سره سم دي. Debian 8 او Ubuntu ۱۴.۰۴. د RHEL ۶، SLES ۱۱-SP۴ ملاتړ به بند شي، Debian 7 او Ubuntu ۱۲.۰۴. د هغو کاروونکو لپاره چې د زړو کرنل لرونکو چاپیریالونو کې د رسټ وسیلې چین لخوا جوړ شوي اجرایوي توکي کاروي Linux، دا وړاندیز کیږي چې د دوی سیسټمونه لوړ کړي، په زړو کمپیلر ریلیزونو کې پاتې شي، یا په خپلواکه توګه د انټرلایرونو سره خپل libstd څانګه وساتي ترڅو مطابقت وساتي.

    د زړو ملاتړ د پای ته رسیدو د دلیلونو په منځ کې Linux- سیسټمونه د زړو چاپیریالونو سره د مطابقت ساتلو لپاره محدود سرچینې یادوي. د زړو ګلیبک ملاتړ د دوامداره ادغام سیسټم کې د چک کولو پرمهال د زړو وسیلو کارولو ته اړتیا لري، د LLVM او کراس تالیف وسیلو لپاره د نسخې اړتیاو زیاتوالي ته په پام سره. د کرنل نسخې اړتیاوې د زړو کرنلونو سره د مطابقت ډاډ ترلاسه کولو لپاره د منځګړو ساتلو اړتیا پرته په libstd کې د نوي سیسټم زنګونو کارولو وړتیا له امله دي.

  • د IntoFuture ځانګړتیا ثابته شوې، کوم چې د IntoIterator سره ورته والی لري، مګر د "for ... in ..." لوپونو پرځای د ".await" په کارولو سره له وروستي څخه توپیر لري. کله چې د IntoFuture سره یوځای شي، د ". انتظار" کلیمه نه یوازې د راتلونکي ځانګړتیا تمه کولی شي، بلکې نور هر ډول ډولونه چې په راتلونکي کې بدلیدلی شي.
  • د زنګ تحلیل کونکي افادیت د رست ریلیزونو سره چمتو شوي اسانتیاو ټولګه کې شامل دي. افادیت د rustup په کارولو سره د نصب کولو لپاره هم شتون لري (د زنګون اجزا اضافه کول - شنونکي).
  • د کارګو بسته مدیر کې د کاري ځای میراث شامل دی ترڅو د کڅوړو ترمینځ د ګډ ساحې ارزښتونو نقل له مینځه ویسي ، لکه د زنګ نسخې او ذخیره URLs. په یوځل کې د څو هدف پلیټ فارمونو لپاره د جوړولو لپاره ملاتړ هم اضافه شوی (تاسو اوس کولی شئ په "--target" اختیار کې له یو څخه ډیر پیرامیټر مشخص کړئ).
  • د API یوه نوې برخه د ثبات کټګورۍ ته لیږدول شوې، په شمول د ځانګړتیاوو میتودونه او پلي کول ثبات شوي دي:
    • راتلونکی::په راتلونکي کې
    • num::NonZero*::checked_mul
    • num::NonZero*::checked_pow
    • num::NonZero*::saturating_mul
    • num::NonZero*::saturating_pow
    • شمیره::NonZeroI*::abs
    • num::NonZeroI*:: checked_abs
    • num::NonZeroI*::overflowing_abs
    • num::NonZeroI*::saturating_abs
    • num::NonZeroI*::unsigned_abs
    • num::NonZeroI*::wrapping_abs
    • num::NonZeroU*::checked_add
    • num::NonZeroU*::checked_next_power_of_two
    • num::NonZeroU*::saturating_add
    • os::unix::process::CommandExt::process_group
    • os::windows::fs::FileTypeExt::is_symlink_dir
    • os::windows::fs::FileTypeExt::is_symlink_file
  • د C-مطابق ډولونه، مخکې په std::ffi ماډل کې ثبات شوي، په اصلي او ټول کتابتون کې اضافه شوي دي:
    • core::ffi::CStr
    • core::ffi::FromBytesWithNulError
    • alloc::ffi::CSstring
    • alloc::ffi::FromVecWithNulError
    • alloc::ffi::IntoStringError
    • alloc::ffi::NulError
  • د C ډولونه چې مخکې په std::os::raw ماډلونو کې ثبات شوي په اصلي::ffi او std::ffi ماډلونو کې اضافه شوي دي (د مثال په توګه، c_uint او c_ulong ډولونه د uint او ulong C ډولونو لپاره وړاندیز شوي):
    • ffi::c_char
    • ffi::c_double
    • ffi::c_float
    • ffi::c_int
    • ffi::c_long
    • ffi::c_longlong
    • ffi::c_schar
    • ffi::c_short
    • ffi::c_uchar
    • ffi::c_uint
    • ffi::c_ulong
    • ffi::c_ulonglong
    • ffi::c_ushort
  • د ټیټې کچې سمبالونکي د ټولپوښتنې میکانیزم سره د کارولو لپاره ثبات لري (په راتلونکي کې پلان شوی چې یو ساده API چمتو کړي چې د ټیټ کچې جوړښتونو لکه پل او پن کارولو ته اړتیا نلري):
    • راتلونکی::poll_fn
    • دنده:: چمتو!
  • د "const" خاصیت، کوم چې د ثابتو پر ځای په هر شرایطو کې د کارولو امکان ټاکي، په سلائس::from_raw_parts فنکشن کې کارول کیږي.
  • د دې لپاره چې د ډیټا ډیر دقیق ذخیره شي، د Ipv4Addr، Ipv6Addr، SocketAddrV4 او SocketAddrV6 جوړښتونو حافظه ترتیب بدل شوی. کیدای شي د واحد کریټ کڅوړو سره د مطابقت مسله وي چې د جوړښتونو د ټیټې کچې لاسوهنې لپاره std::mem::transmute کاروي.
  • د پلیټ فارم لپاره د زنګ کمپیلر جوړونه کې Windows د PGO اصلاح (د پروفایل لارښود اصلاح) کارول شوي، کوم چې د کوډ تالیف فعالیت 10-20٪ زیاتولو ته اجازه ورکړه.
  • تالیف کونکي په ځینو جوړښتونو کې د نه کارول شوي ساحو په اړه نوی خبرداری پلي کړی.

برسیره پردې، تاسو کولی شئ د Rust ژبې کمپیلر د بدیل پلي کولو د پراختیا په اړه د وضعیت راپور یادونه وکړئ، چې د Gccrs پروژې (GCC Rust) لخوا چمتو شوی او په GCC کې د شاملولو لپاره تصویب شوی. د فرنټ اینډ ادغام وروسته ، د GCC معیاري وسیلې د Rustc کمپیلر نصبولو اړتیا پرته په Rust ژبه کې د برنامو تالیف کولو لپاره کارول کیدی شي ، د LLVM پرمختګونو په کارولو سره جوړ شوی. تر هغه چې پرمختګ په لاره کې وي، او د هرې غیر متوقع ستونزې مخه ونیسي، د زنګ فرنټ اینډ به د راتلونکي کال د می لپاره ټاکل شوي GCC 13 ریلیز کې مدغم شي. د زنګون د GCC 13 پلي کول به د بیټا حالت کې وي ، لاهم د ډیفالټ لخوا فعال شوي ندي.

سرچینه: opennet.ru

د DDoS محافظت ، VPS VDS سرورونو سره د سایټونو لپاره معتبر کوربه توب واخلئ 🔥 د DDoS محافظت، VPS VDS سرورونو سره د باور وړ ویب پاڼې کوربه توب واخلئ | ProHoster