DJGPP

منصة برمجة جنو الخاصة بـ DJ ( DJGPP ) [ 2 ] هي حزمة برمجية لتطوير البرامج لأجهزة الكمبيوتر المتوافقة مع معالجات Intel 80386 وما فوق، وتدعم أنظمة تشغيل DOS . يشرف عليها DJ Delorie، الذي بدأ المشروع عام 1989. وهي نسخة مُعدّلة من مجموعة مُترجمات جنو (GCC)، وتضمّ في معظمها أدوات جنو المساعدة مثل Bash و find و tar و ls وGAWK و sed وld، مُحوّلة إلى واجهة الوضع المحمي لنظام DOS (DPMI). تشمل اللغات المدعومة C و C++ و Objective-C /C++ و Ada و Fortran و Pascal . كان اسمها الأصلي DJGCC ، ثم أُعيد تسميتها لاحقًا إلى DJGPP عند إضافة دعم لغة C++، مع العلم أن اختصار "PP" يُشير إلى "منصة البرمجة" وليس "Plus Plus". [ 3 ]

ملخص

يُنتج المُصرّف شيفرةً 32 بت، تعمل أصلاً في وضع الحماية 32 بت ، ثم تعود إلى استدعاءات DOS 16 بت لتوفير دعم أساسي لنظام التشغيل. مع ذلك، وعلى عكس مُصرّف Open Watcom C/C++ ، فهو ليس نموذجًا مسطحًا يبدأ من الصفر، إذ يُفضّل حماية المؤشر الفارغ لتحسين الاستقرار. وهو يعتمد حاليًا على صيغة COFF . يُمكنه الوصول إلى ما يصل إلى 4 جيجابايت من ذاكرة الوصول العشوائي (RAM) في نظام DOS عند استخدام مُضيف DPMI مناسب (مثل CWSDPMI r7 أو HDPMI32).

اعتبارًا من أبريل 2025 تشمل المكونات الرئيسية لبرنامج DJGPP 2 ما يلي:

من الممكن أيضاً استخدام DJGPP لترجمة البرامج إلى نظام DOS، على سبيل المثال على أنظمة UNIX/Linux. ويمكن ترجمة مكتبات DJGPP والبرامج بهذه الطريقة، ثم ربطها ونشرها على أجهزة تعمل بنظام DOS أو محاكيات DOS.

التوافق

يُقدّم برنامج DJGPP للمبرمج واجهةً متوافقةً مع معايير ANSI C و C99 ، وواجهات برمجة تطبيقات DOS، وبيئة POSIX القديمة . تدعم الملفات الثنائية المُجمّعة أسماء الملفات الطويلة (LFN) وتستطيع التعامل معها في معظم أنظمة Windows 32 بت افتراضيًا، لكنها لا تستطيع استخدام واجهات برمجة تطبيقات Win16 أو Win32 التي تحتاجها البرامج الرسومية على Windows. [ 5 ] تتوفر برامج TSR (برامج إنهاء وبقاء في النظام ) لدعم أسماء الملفات الطويلة (LFN) في أنظمة DOS أو Windows NT 4 .

بينما يعمل برنامج DJGPP في وضع الحماية 32 بت ، فإن مكتبته وبرنامجه المساعد يعتمدان بشكل كبير على العديد من استدعاءات DOS وBIOS ذات 16 بت. ولأن إصدارات x86-64 من نظام التشغيل Windows تفتقر إلى دعم برامج 16 بت، [ 6 ] [ 7 ] فلا يوجد NTVDM ، وبالتالي لا يمكن تشغيل تطبيقات DJGPP. في أنظمة x86-64، تعمل هذه التطبيقات فقط من خلال المحاكاة (مثل DOSBox )، أو المحاكاة الافتراضية x86 (مثل VirtualBox )، أو ما شابه (مثل DOSEMU في نظام Linux ). تنشأ هذه المشكلة لأن معالجات x86-64 في الوضع الطويل لا تدعم وضع 8086 الافتراضي المستخدم لتشغيل التعليمات البرمجية 16 بت في معالجات IA-32. تدعم وحدات المعالجة المركزية x86 الأحدث المزودة بتقنية VT-x وضع الذاكرة الحقيقية المُصفحة ووضع الضيف غير المقيد.

انظر أيضاً

مراجع

  1. "إعلان: إصدار DJGPP V2.05" . مجموعة الأخبار : comp.os.msdos.djgpp . 3 نوفمبر 2015. 
  2. إيلي زاريتسكي (يوليو 1999). "مشروع DJGPP" . تم الاطلاع عليه بتاريخ 20 يوليو 2009 .
  3. "تاريخ دي جي جي بي بي" .
  4. "أرشيف البريد: djgpp-announce/2024/10/01/13:27:52" . www.delorie.com . تم الاطلاع عليه بتاريخ 12 أبريل 2025 .
  5. وول، كورت؛ فون هاجن، ويليام (2004). الدليل الشامل لـ GCC . أبريس. ص 47-48 . ISBN  9781590591093. نظام تطوير آخر شائع، وإن كان قديمًا، يعتمد على GCC هو DJGPP، بيئة تطوير مجانية 32 بت لأنظمة DOS من تصميم DJ[sic] Delorie.
  6. "دليل: ما هو DJGPP؟" . مؤرشف من الأصل في 1 أغسطس 2018. تم الاطلاع عليه في 22 نوفمبر 2015. منصة الأجهزة المستهدفة لبرامج DJGPP هي منصة حاسوب شخصي ... تعمل بنظام DOS ... أو نظام تشغيل متوافق مع DOS. تعمل برامج DJGPP ضمن مربعات موجه أوامر DOS في نظام Windows .
  7. مايكروسوفت (11 أكتوبر 2007). "قائمة القيود في نظام ويندوز 64 بت" . مؤرشف من الأصل في 20 أبريل 2010. تم الاطلاع عليه في 20 أبريل 2010. لن تعمل أدوات MS-DOS ذات 16 بت وأدوات مايكروسوفت ويندوز 3.x. إذا حاولت تشغيل أحد هذه البرامج، فستتلقى رسالة خطأ "Program.exe ليس تطبيق Win32 صالحًا".