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

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

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

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

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

  • د rustc کمپائلر د پوښښ ډیټا تولید لپاره یو مستحکم LLVM پر بنسټ سیسټم لري چې د ازموینې پرمهال د کوډ پوښښ ارزولو لپاره کارول کیږي. د جوړونې پرمهال د پوښښ ډیټا فعالولو لپاره، د "-C وسیلې پوښښ" بیرغ وکاروئ، د مثال په توګه، د "RUSTFLAGS="-C وسیلې پوښښ" کارګو جوړونه قوماندې سره د جوړونې چلولو سره. پدې ډول جوړ شوي اجرایوي فایل چلولو وروسته، د default.profraw فایل به په اوسني ډایرکټرۍ کې خوندي شي، کوم چې د llvm-tools-preview برخې څخه د llvm-profdata افادیت په کارولو سره پروسس کیدی شي. د llvm-profdata لخوا پروسس شوی محصول بیا llvm-cov ته لیږدول کیدی شي ترڅو د کوډ پوښښ معلوماتو سره یو تشریح شوی راپور رامینځته کړي. د سرچینې متنونو سره د تړلو په اړه معلومات د ازموینې لاندې اجرایوي فایل څخه اخیستل کیږي، کوم چې د کوډ سره د پوښښ کاونټرونو اړیکې په اړه اړین معلومات شامل دي. 1| 1|fn main() { 2| 1| println!("سلام، نړۍ!"); 3| 1|}
  • د کارګو پیکج مدیر د "--timings" بیرغ لپاره ملاتړ مستحکم کړی دی، کوم چې د جوړولو پرمختګ او د هر ګام د اجرا کولو وخت په اړه د مفصل راپور تولید ته اجازه ورکوي. دا راپور د جوړولو پروسې د فعالیت د اصلاح کولو لپاره ګټور کیدی شي.
  • د کارګو پیکج مدیر د مشروط تالیف او اختیاري انحصاري انتخاب لپاره یو نوی ترکیب معرفي کوي. دا ترکیب د Cargo.toml فایل کې د [ځانګړتیاو] برخې کې د نومول شوي ملکیتونو لیست کولو سره تنظیم شوی او د "--features" بیرغ په کارولو سره د پیکج جوړولو پرمهال د ملکیتونو په شاملولو سره فعال شوی. نوې نسخه په جلا نوم ځایونو او ضعیف انحصارونو کې د انحصار لپاره ملاتړ اضافه کوي.

    په لومړي حالت کې، موږ د "[ځانګړتیاوې]" برخې دننه د "dep:" مختاړی سره د عناصرو کارولو وړتیا پلي کړه ترڅو په ښکاره ډول د اختیاري انحصار سره وصل شي پرته لدې چې دا انحصار د ځانګړتیا په توګه په ضمني ډول افشا کړي. په دوهم حالت کې، موږ د "?" ("package-name?/feature-name") سره د اختیاري انحصار نښه کولو لپاره ملاتړ اضافه کړ، کوم چې باید یوازې هغه وخت شامل شي کله چې بل ملکیت دا اختیاري انحصار ولري. د مثال په توګه، په لاندې مثال کې، د serde ملکیت شاملول به "serde" انحصار شامل کړي، او همدارنګه د "rgb" انحصار لپاره "serde" ملکیت، مګر یوازې هغه وخت چې "rgb" انحصار په بل ځای کې شامل وي: [dependencies] serde = { version = "1.0.133"، optional = true } rgb = { version = "0.8.25"، optional = true } [features] serde = ["dep:serde"، "rgb?/serde"]

  • د زیاتیدونکي تالیف ملاتړ، کوم چې په تیرو نسخو کې غیر فعال شوی و، بیرته فعال شوی دی. د تالیف کونکي بګ چې د دې ځانګړتیا غیر فعالولو لامل شوی و، حل شوی دی.
  • د انسټنټ ټایمر د مونوټونیک وخت محاسبې تضمین سره ډیری ستونزې حل شوي، کوم چې هغه وخت په پام کې نیسي چې سیسټم په خوب حالت کې مصرف کړی، حل شوي دي. پخوا، ټایمر هرکله چې امکان ولري په OS API تکیه کوله، کوم چې د ستونزو وړ حالتونو حساب نه کاوه چې د وخت مونوټونیکیت ګډوډوي، لکه د هارډویر مسلې، مجازی کول، یا د عملیاتي سیسټم غلطۍ.
  • د API یوه نوې برخه د ثبات کټګورۍ ته لیږدول شوې، په شمول د ځانګړتیاوو میتودونه او پلي کول ثبات شوي دي:
    • قوس::نوی_سایکل
    • Rc::نوی_سایکل
    • ټوټه::EscapeAscii
    • <[u8]>:: تېښته_اسکي
    • u8::تېښته_اسکي
    • موټر:: اضافي_ظرفیت_کمښت
    • شاید یونایټ:: فرض کړئ_انیټ_ډراپ
    • شاید یونایټ:: فرض کړئ_په_لوستل_شوی
    • i8::abs_diff
    • i16::abs_diff
    • i32::abs_diff
    • i64::abs_diff
    • i128::abs_diff
    • د اندازې::abs_diff
    • u8::abs_diff
    • u16::abs_diff
    • u32::abs_diff
    • u64::abs_diff
    • u128::abs_diff
    • کارول::abs_diff
    • د io::ErrorKind لپاره ښودل
    • د ExitCode لپاره
    • د ! لپاره نه ("هیڅکله" ولیکئ)
    • _د_ټاکنې_کارول<$t>
    • آرچ:: د aarch64_ځانګړتیا_کشف شوې ده!
  • د دریمې کچې ملاتړ د mips64-openwrt-linux-musl* او armv7-unknown-linux-uclibceabi (softfloat) پلیټ فارمونو لپاره پلي شوی دی. دریمه کچه اساسي ملاتړ چمتو کوي، مګر د اتوماتیک ازموینې، رسمي جوړونې خپرونو، یا د جوړونې تایید پرته.
  • کمپائلر د LLVM 14 کارولو لپاره بدل شوی دی.

سربیره پردې، تاسو کولی شئ یادونه وکړئ:

  • د rustc_codegen_gcc بیک اینډ په کارولو سره د rustc کمپائلر بوټسټریپینګ لپاره اضافه شوی ملاتړ. دا د GCC پروژې د libgccjit کتابتون د rustc کې د کوډ جنراتور په توګه کارولو ته اجازه ورکوي، rustc ته وړتیا ورکوي چې په GCC کې موجود معمارۍ او اصلاح ملاتړ وکړي. کمپائلر بوټسټریپینګ د rustc کمپائلر جوړولو لپاره په rustc کې د GCC پر بنسټ کوډ جنراتور کارولو وړتیا ته اشاره کوي. په عملي شرایطو کې، دا ځانګړتیا د هغو معماریو لپاره د زنګ پروګرامونو جوړولو ته اجازه ورکوي چې مخکې د rustc لخوا نه ملاتړ شوي.
  • د uutils coreutils toolkit 0.0.13 نسخه اوس شتون لري. دا د GNU Coreutils پیکج د زنګ پر بنسټ معادل رامینځته کوي. Coreutils کې له 100 څخه ډیر اسانتیاوې شاملې دي، پشمول د sort، cat، chmod، chown، chroot، cp، date، dd، echo، hostname، id، ln، او ls. د پروژې هدف د Coreutils لپاره د کراس پلیټ فارم بدیل رامینځته کول دي، چې د پلیټ فارمونو په شمول د چلولو وړ دي. Windows، ریډوکس او فوشیا، او د کاپي لیفټ GPL جواز پرځای د جواز لرونکي MIT جواز لاندې ویش.

    نوې نسخه د ډیری اسانتیاوو پلي کول ښه کوي، پشمول د cp، dd، df، split، او tr د دوی د GNU معادلاتو سره د پام وړ ښه شوي مطابقت. آنلاین اسناد اوس شتون لري. د کلیپ پارسر د کمانډ لاین دلیلونو تجزیه کولو لپاره کارول کیږي، د "--help" بیرغ لپاره محصول ښه کوي او د اوږدو کمانډونو لنډیزونو لپاره ملاتړ اضافه کوي (د مثال په توګه، تاسو کولی شئ د "ls --color" پرځای "ls --col" وکاروئ).

سرچینه: opennet.ru

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