انتشار کتابخانه های استاندارد C Musl 1.2.3 و PicoLibc 1.7.6

انتشار کتابخانه استاندارد C Musl 1.2.3 ارائه شده است که اجرای libc را ارائه می دهد که برای استفاده در رایانه های شخصی رومیزی و سرورها و در سیستم های تلفن همراه مناسب است و پشتیبانی کامل از استانداردها (مانند Glibc) را با یک ابزار کوچک ترکیب می کند. اندازه، مصرف کم منابع و عملکرد بالا (مانند uClibc، dietlibc و Android Bionic). پشتیبانی از تمام رابط های C99 و POSIX 2008 مورد نیاز، و همچنین به طور جزئی C11 و مجموعه ای از برنامه های افزودنی برای برنامه نویسی چند رشته ای (رشته های POSIX)، مدیریت حافظه و کار با محلی ها وجود دارد. کد Musl تحت مجوز رایگان MIT ارائه شده است.

نسخه جدید تابع qsort_r را اضافه می کند که برای گنجاندن در استانداردهای آینده POSIX در نظر گرفته شده است و برای مرتب کردن آرایه ها با استفاده از توابع مقایسه عناصر دلخواه استفاده می شود. برای برخی از مدل‌های CPU PowerPC، پشتیبانی از FPUهای جایگزین SPE (موتور پردازش سیگنال) اضافه شده است. تغییراتی برای بهبود سازگاری ایجاد شده است، مانند ذخیره errno، پذیرش اشاره گرهای تهی در gettext، و مدیریت متغیر محیطی TZ. تغییرات رگرسیون در توابع wcwidth و duplocale و همچنین چندین خطا در توابع ریاضی که در شرایط خاص منجر به محاسبه یک نتیجه نادرست شده است، رفع شده است (به عنوان مثال، در سیستم‌های بدون FPU، fmaf نتیجه را اشتباه گرد کرده است) .

علاوه بر این، می‌توان به انتشار کتابخانه استاندارد C PicoLibc 1.7.6 اشاره کرد که چند روز پیش منتشر شد و توسط Keith Packard (رهبر پروژه X.Org) برای استفاده در دستگاه‌های تعبیه‌شده با مقدار محدود حافظه دائمی و RAM توسعه یافت. در طول توسعه، بخشی از کد از کتابخانه newlib از پروژه Cygwin و AVR Libc که برای میکروکنترلرهای Atmel AVR توسعه یافته است، قرض گرفته شد. کد PicoLibc تحت مجوز BSD توزیع می شود. مونتاژ کتابخانه برای معماری های ARM (32 بیتی)، Aarch64، i386، RISC-V، x86_64، m68k و PowerPC پشتیبانی می شود. نسخه جدید استفاده از توابع درون خطی ریاضی را برای معماری aarch64 و توانایی استفاده از توابع درون خطی ریاضی در برنامه‌های کاربردی در معماری بازو و risc-v پیاده‌سازی می‌کند.

منبع: opennet.ru

اضافه کردن نظر