۳۰ شهریور ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

Rust پشتیبانی از C-string literals را اضافه می کند

پشتیبانی از C-string literals نوشتن کدی را آسان‌تر می‌کند که با رابط‌های زبان خارجی که نیاز به رشته‌های پایان‌دار تهی دارند، تعامل داشته باشد.

پشتیبانی از C-string literals نوشتن کدی را آسان‌تر می‌کند که با رابط‌های زبان خارجی که نیاز به رشته‌های پایان‌دار تهی دارند، تعامل داشته باشد.

Rust 1.77، آخرین نسخه زبان برنامه نویسی مبتنی بر تحقیقات موزیلا با تمرکز بر ایمنی، سرعت و همزمانی، پشتیبانی از C-string literals را اضافه می کند.

رشته‌های رشته‌ای C در Rust به یک رشته پایان‌یافته با بایت خالی در حافظه از نوع & 'static CStr گسترش می‌یابد. این کار نوشتن کدی را آسان‌تر می‌کند که با رابط‌های زبان خارجی که به رشته‌های تهی نیاز دارند، تعامل داشته باشد. تمام بررسی خطاهای مربوطه، مانند یک بایت تهی داخلی گمشده، در زمان کامپایل انجام می‌شود.

7 روپیه نوسازی اپلیکیشن ابری

اعلام شده در ۲۱ مارس، Rust 1.77 می توان با استفاده از rustup نصب کرد:

$ rustup به‌روزرسانی پایدار است

یکی دیگر از بهبودهای Rust 1.77 پشتیبانی از بازگشت در async fn است. توابع Async قبلاً به دلیل محدودیت کامپایلر نمی توانستند خود را فراخوانی کنند، اما Rust 1.77 این محدودیت را برطرف می کند. تماس های بازگشتی در حال حاضر تا زمانی مجاز هستند که از شکلی از غیر جهت جلوگیری کنند تا از اندازه نامحدود برای وضعیت تابع جلوگیری کنند.

8 زبان برنامه نویسی که دوست داریم از آنها متنفر باشیم - اما نمی توانیم بدون آنها زندگی کنیم

همچنین در Rust 1.77، ماکرو offsetof! برای فیلدهای ساختار تثبیت شده است. این امکان دسترسی به افست بایت فیلد عمومی مربوطه یک ساختار را فراهم می کند. تیم Rust گفت: این ماکرو زمانی می‌تواند بسیار مفید باشد که افست یک فیلد بدون نمونه‌ای از یک نوع مورد نیاز باشد.

به‌علاوه، نمایه‌های مدیر بسته Cargo در Rust 1.77 که debuginfo در خروجی ها strip = "debugiinfo" را به طور پیش فرض فعال می کند. این عمدتاً مورد نیاز است زیرا کتابخانه استاندارد از پیش کامپایل شده با اطلاعات اشکال‌زدایی ارسال می‌شود، به این معنی که نتایج به‌صورت ایستا پیوند داده شده شامل اطلاعات اشکال‌زدایی از کتابخانه استاندارد می‌شود، حتی اگر کامپایل محلی صریحاً اطلاعات اشکال‌زدایی را درخواست نکرده باشد.

جنکینز چیست؟ سرور CI توضیح داد

در نهایت، Clippy در Rust 1.77 یک پرده جدید به نام incompatible_msrv اضافه می‌کند، که به کاربران می‌گوید آیا عملکردی که به آن ارجاع داده می‌شود فقط در نسخه‌های جدیدتر از حداقل نسخه پشتیبانی شده Rust در دسترس است.

Rust 1.77 پس از انتشار ماه گذشته Rust 1.76 که دارای به‌روزرسانی‌های سازگاری ABI بود.