libc(7)

الاسم
libc - نظرة عامة على مكتبات C القياسية في لينكس

الوصف
المصطلح “libc” يُستخدم عادةً كاختصار لـ “مكتبة C القياسية”، وهي مكتبة من الدوال القياسية التي يمكن لجميع برامج C (وأحيانًا برامج بلغات أخرى) استخدامها. بسبب بعض التاريخ (انظر أدناه)، فإن استخدام المصطلح “libc” للإشارة إلى مكتبة C القياسية غامض إلى حد ما في لينكس.

  glibc
إلى حد بعيد، مكتبة C الأكثر استخدامًا في لينكس هي مكتبة GNU C (http://www.gnu.org/software/libc/), والتي يُشار إليها غالبًا بـ glibc. هذه هي مكتبة C المستخدمة حاليًا في جميع توزيعات لينكس الرئيسية. وهي أيضًا مكتبة C التي تُوثَّق تفاصيلها في الصفحات ذات الصلة من مشروع man-pages (بشكل أساسي في القسم 3 من الدليل). توثيق glibc متاح أيضًا في دليل glibc، عبر الأمر info libc. تم إصدار الإصدار 1.0 من glibc في سبتمبر 1992. (كانت هناك إصدارات سابقة 0.x.) كان الإصدار الرئيسي التالي من glibc هو 2.0، في بداية عام 1997.

اسم المسار /lib/libc.so.6 (أو ما شابه ذلك) هو عادةً رابط رمزي يشير إلى موقع مكتبة glibc، وتنفيذ اسم المسار هذا يتسبب في عرض glibc لمعلومات متنوعة حول الإصدار المثبت على نظامك.

  Linux libc
في أوائل إلى منتصف التسعينيات، وُجد لفترة Linux libc، وهو فرع من glibc 1.x أنشأه مطورو لينكس الذين رأوا أن تطوير glibc في ذلك الوقت لم يكن كافيًا لاحتياجات لينكس. غالبًا ما كان يُشار إلى هذه المكتبة (بشكل غامض) باسم “libc” فقط. أصدر Linux libc إصدارات رئيسية 2 و3 و4 و5، بالإضافة إلى العديد من الإصدارات الفرعية لتلك الإصدارات. كان Linux libc4 آخر إصدار يستخدم تنسيق a.out الثنائي، وأول إصدار يوفر دعمًا (بدائيًا) للمكتبات المشتركة. كان Linux libc 5 أول إصدار يدعم تنسيق ELF الثنائي؛ استخدم هذا الإصدار اسم soname للمكتبة المشتركة libc.so.5. لفترة، كان Linux libc هو مكتبة C القياسية في العديد من توزيعات لينكس.

ومع ذلك، وبغض النظر عن الدوافع الأصلية لجهد Linux libc، بحلول وقت إصدار glibc 2.0 (في 1997)، كانت متفوقة بوضوح على Linux libc، وسرعان ما تحولت جميع توزيعات لينكس الرئيسية التي كانت تستخدم Linux libc مرة أخرى إلى glibc. لتجنب أي ارتباك مع إصدارات Linux libc، استخدم glibc 2.0 والإصدارات الأحدث اسم soname للمكتبة المشتركة libc.so.6.

نظرًا لأن التحول من Linux libc إلى glibc 2.0 حدث منذ زمن بعيد، لم يعد man-pages يهتم بتوثيق تفاصيل Linux libc. ومع ذلك، فإن التاريخ واضح في بقايا معلومات حول Linux libc التي لا تزال موجودة في عدد قليل من صفحات الدليل، ولا سيما الإشارات إلى libc4 و libc5.

  مكتبات C أخرى
هناك العديد من مكتبات C الأخرى الأقل استخدامًا للينكس. هذه المكتبات أصغر عمومًا من glibc، سواء من حيث الميزات أو بصمة الذاكرة، وغالبًا ما تكون مخصصة لبناء ملفات ثنائية صغيرة، ربما تستهدف التطوير لأنظمة لينكس المضمنة. من بين هذه المكتبات uClibc (http://www.uclibc.org/), و dietlibc (http://www.fefe.de/dietlibc/), و musl libc (http://www.musl-libc.org/). تفاصيل هذه المكتبات يغطيها مشروع man-pages، حيث تكون معروفة.

انظر أيضًا
syscalls(2), getauxval(3), proc(5), feature_test_macros(7), man-pages(7), standards(7), vdso(7)

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.