.\" -*- coding: UTF-8 -*- .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH end 3 "21 سبتمبر 2025" "صفحات دليل لينكس 6.18" .SH الاسم etext, edata, end \- نهاية مقاطع البرنامج .SH موجز .nf \fBextern\fP\fI etext\fP\fB;\fP \fBextern\fP\fI edata\fP\fB;\fP \fBextern\fP\fI end\fP\fB;\fP .fi .SH الوصف عناوين هذه الرموز تشير إلى نهاية مقاطع البرنامج المختلفة: .TP \fIetext\fP هذا هو أول عنوان بعد نهاية مقطع النص (كود البرنامج). .TP \fIedata\fP هذا هو أول عنوان بعد نهاية مقطع البيانات المُهيّأة. .TP \fIend\fP هذا هو أول عنوان بعد نهاية مقطع البيانات غير المُهيّأة (المعروف أيضًا بمقطع BSS). .SH المعايير لا شيء. .SH التاريخ رغم أن هذه الرموز وُفّرت منذ زمن طويل على معظم أنظمة UNIX، إلا أنها غير موحدة؛ استخدمها بحذر. .SH ملاحظات يجب على البرنامج أن يُصرّح بهذه الرموز صراحةً؛ فهي غير مُعرّفة في أي ملف رأس. .P في بعض الأنظمة، تُسبق أسماء هذه الرموز بشرطات سفلية، هكذا: \fI_etext\fP و\fI_edata\fP و\fI_end\fP. هذه الرموز مُعرّفة أيضًا للبرامج المُجمّعة على Linux. .P عند بدء تنفيذ البرنامج، سيكون فاصل البرنامج قريبًا من \fI&end\fP (ربما في بداية الصفحة التالية). لكن الفاصل سيتغير عند تخصيص الذاكرة عبر \fBbrk\fP(2) أو \fBmalloc\fP(3). استخدم \fBsbrk\fP(2) مع معامل صفر لإيجاد القيمة الحالية لفاصل البرنامج. .SH أمثلة عند التشغيل، يُنتج البرنامج أدناه مخرجات مثل التالية: .P .in +4n .EX $\fB ./a.out\fP أول عنوان بعد: نص البرنامج (etext) 0x8048568 البيانات المُهيّأة (edata) 0x804a01c البيانات غير المُهيّأة (end) 0x804a024 .EE .in .SS "مصدر البرنامج" .\" SRC BEGIN (end.c) \& .EX #include #include \& extern char etext, edata, end; /* يجب أن تكون للرموز نوع ما، وإلا سيشتكي "gcc \-Wall" */ \& int main(void) { printf("أول عنوان بعد:\[rs]n"); printf(" نص البرنامج (etext) %10p\[rs]n", &etext); printf(" البيانات المُهيّأة (edata) %10p\[rs]n", &edata); printf(" البيانات غير المُهيّأة (end) %10p\[rs]n", &end); \& exit(EXIT_SUCCESS); } .EE .\" SRC END .SH "انظر أيضًا" \fBobjdump\fP(1), \fBreadelf\fP(1), \fBsbrk\fP(2), \fBelf\fP(5) .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .