کتابخانه سی گنو
کتابخانه گنوسی (به انگلیسی: GNU C Library) که بیشتر glibc نامیده میشود، یک پیادهسازی کتابخانه استاندارد سی توسط پروژه گنو است. با وجود نام آن، همچنین مستقیماً سی++ را نیز پشتیبانی میکند (و غیرمستقیم، زبانهای برنامهنویسی دیگر). در اصل توسط بنیاد نرمافزار آزاد برای سیستمعامل گنو نوشته شدهبود. توسعه کتابخانه توسط کمیته از سال ۲۰۱۱ توسط Ulrich Drepper، به عنوان مدیر همکاران و همکاران، بازبینی شد. در مارس ۲۰۱۲، کمیته راهبری، رأی به منحل کردن خود و حذف Drepper به نفع روند توسعه جامعه-محور به همراه مسئولیت نگهداری توسط Ryan Arnold, Maxim Kuvyrkov, Joseph Myers, Carlos O'Donell, و Alexandre Oliva (بدون قدرت تصمیم-سازی اضفه) داد.
نویسنده(های) اصلی | رونالد مکگراث |
---|---|
توسعهدهنده(ها) | پروژه گنو |
انتشار ابتدایی | ۱۹۸۷ |
انتشار پایدار | ۲٫۲۲
۱۴ اوت ۲۰۱۵ |
مخزن | |
نوشتهشده با | سی |
سیستمعامل | سیستمعامل گنو، گنو/لینوکس، شبه-یونیکس |
گونه | کتابخانه زمان اجرا |
پروانه | گنو الجیپیال |
وبگاه |
پیشینه
glibc در ابتدا بیشتر توسط Roland McGrath نوشته شد، که ایشان برای بنیاد نرمافزار آزاد در دهه ۱۹۸۰ فعالیت میکردند.
در فوریه ۱۹۸۸، FSF کتابخانه glibc را به عنوان دارا بودن تقریباً کامل عملکردهای مورد نیاز ANSI C معرفی کرد. در ۱۹۹۲، عملکردهای استاندارد ANSI C-۱۹۸۹ و POSIX.1-1990 را داشت و در حال کار بر روی استاندارد POSIX.2 بود.
یک انشعاب موقت
در حدود دهه ۱۹۹۰، توسعهدهندگان کرنل لینوکس، یک انشعاب از glibc گرفتند. انشعاب آنان، «Linux libc» نامیده شد و برای چند سال نگهداری میشد و نسخههای ۲ تا ۵ را انتشار داد.
هنگامی که FSF کتابخانه glibc ۲٫۰ را در ژانویه ۱۹۹۷ منتشر کرد، انطباق بسیار بیشتری با استاندارد POSIX، عملکرد بهتر بینالمللیسازی و چندزبانی، قابلیت IP نسخه ۶، دسترسی دادهای ۶۴بیتی، امکانات لازم برای برنامههای چندنخی، سازگاری با نسخههای بالاتر داشت و کُد آن قابلحملتر شد. در این جا، توسعهدهندگان هسته لینوکس انشعاب خود را ادامه ندادند و به استفاده از glibc نسخه FSF بازگشتند.
با توجه به ریچارد استالمن، تغییرات ایجاد شده در Linux libc به خاطر حقتألیف، قابل ادغام شدن به libc نیست. وضعیت کُد مشخص نیست و پروژه گنو دربارهٔ حقتألیف و نویسندگان سختگیر است.
پشتیبانی از سختافزار و هسته
glibc در سیستمهای با هستهها و معماری سختافزاری مختلف استفاده شدهاست. بیشترین استفاده آن در سیستمهایی با هسته لینوکس بر سختافزار x۸۶ است، هرچند، رسماً سختافزارهای x۸۶، موتورلا ۶۸۰x۰ و DEC Alpha, PowerPC, ETRAX CRIS, s390, Elbrus و SPARC را نیز پشتیبانی میکند. همچنین بهطور رسمی هستههای هرد و لینوکس را پشتیبانی میکند. همچنین نسخههایی با وصلههای بسیار بر هستههای فریبیاسدی و نتبیاسدی اجرا میشوند (که سیستمهای Debian GNU/kFreeBSD و Debian GNU/NetBSD بدین ترتیب ساخته شدند)، همچنین یک نسخه انشعابیافته از OpenSolaris. همچنین یک نسخه ویرایششده آن با نام libroot.so در BeOS و Haiku استفاده شد.
منابع