posix_memalign(3)

الاسم
posix_memalign - تخصيص ذاكرة مصفوفة

المكتبة
مكتبة سي المعيارية (libc، -lc)

موجز
#include <stdlib.h>

int posix_memalign(void **memptr, size_t alignment, size_t size);

    متطلبات ماكروات اختبار الميزات لـ glibc (انظر feature_test_macros(7)):

posix_memalign():
    _POSIX_C_SOURCE >= 200112L

الوصف
تخصص الدالة posix_memalign() size بايت وتضع عنوان الذاكرة المخصصة في *memptr. سيكون عنوان الذاكرة المخصصة مضاعفًا لـ alignment، والذي يجب أن يكون قوة للعدد 2 ومضاعفًا لـ sizeof(void *). يمكن تمرير هذا العنوان لاحقًا بنجاح إلى free(3). إذا كان size يساوي 0، فإن القيمة الموضوعة في *memptr هي إما NULL أو قيمة مؤشر فريدة.

الذاكرة غير مُصفّرة.

aligned_alloc(3) هي دالة قياسية توفر نفس الوظيفة، ولها نموذج أولي أكثر راحة. استخدمها بدلاً من ذلك.

قيمة الإرجاع
تُرجع posix_memalign() صفرًا عند النجاح، أو أحد قيم الخطأ المدرجة في القسم التالي عند الفشل. لا تُعيَّن قيمة errno.

الأخطاء

EINVAL
    لم يكن معامل alignment قوة للعدد 2، أو لم يكن مضاعفًا لـ sizeof(void *).

ENOMEM
    نفدت الذاكرة.

السمات
للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر attributes(7).
الواجهة | السمة | القيمة
posix_memalign() | سلامة الخيوط | MT-Safe

المعايير
POSIX.1-2024.

التاريخ
glibc 2.1.91. POSIX.1d, POSIX.1-2001.

تحذيرات
في لينكس (وأنظمة أخرى)، لا تُعدّل posix_memalign() memptr عند الفشل. أُضيف شرط لتوحيد هذا السلوك في POSIX.1-2008 TC2.

انظر أيضًا
aligned_alloc(3)

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

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

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