process.h

<process.h>ملف رأس C هذا يحتوي على تعريفات الدوال ووحدات الماكرو المستخدمة في التعامل مع الخيوط والعمليات. توفر معظم مُجمّعات لغة C التي تستهدف أنظمة DOS و Windows 3.1x و Win32 و OS/2 وNovell NetWare أو مُوسّعات DOS هذا الملف ودوال المكتبة في مكتبة C الخاصة بها. لا يُعرّف معيار ANSI/ISO C ولا معيار POSIX ملف الرأس ولا معظم الدوال .

تاريخ

يعود تاريخ نسخة مايكروسوفت من الملف إلى عام 1985 على الأقل، وفقًا لبيان حقوق النشر الخاص بها. [ 1 ] وقد ورد ذكر الملف في منشور على مجموعة أدوات net.micro.pc بتاريخ 26 أكتوبر 1986. [ 2 ] كان المُصرّف المستخدم هو مُصرّف مايكروسوفت للغة C الإصدار 3.0. أما مُصرّف Lattice للغة C الإصدار 3.30 (24 أغسطس 1988) فلم يكن يحتوي على ملف رأس مماثل، ولكنه قدّم وظائف مشابهة. وقدّمت شركة بورلاند ملف الرأس في مُصرّف Turbo C الإصدار 2.01. بينما احتوى مُصرّف C Ware-Personal للغة C الإصدار 1.2c (يونيو 1989) على ملفات رأس ANSI فقط.

الوظائف

اسموصفملحوظات
execl, execle, execlp, execlpeيتم تحميل وتنفيذ عملية فرعية جديدة عن طريق وضعها في الذاكرة التي كانت تشغلها العملية الأصلية. يتم تمرير المعلمات بشكل فردي.DOS، ويندوز، OS/2، POSIX
execv, execve, execvp, execvpeيتم تحميل وتنفيذ عملية فرعية جديدة عن طريق وضعها في الذاكرة التي كانت تشغلها العملية الأصلية. يتم تمرير المعلمات كمصفوفة من المؤشرات.DOS، ويندوز، OS/2، POSIX
spawnl, spawnle, spawnlp, spawnlpeيتم تحميل وتنفيذ عملية فرعية جديدة. يتم تمرير المعلمات بشكل فردي.DOS، ويندوز، OS/2
spawnv, spawnve, spawnvp, spawnvpeيتم تحميل وتنفيذ عملية فرعية جديدة. يتم تمرير المعلمات كمصفوفة من المؤشرات.DOS، ويندوز، OS/2
beginthread, beginthreadNTيُنشئ مسار تنفيذ جديد ضمن العملية الحالية.ويندوز، نظام التشغيل/2
endthreadينهي سلسلة عمليات تم إنشاؤها بواسطة beginthread.ويندوز، نظام التشغيل/2
getpidيُعيد مُعرّف العملية .DOS، ويندوز، OS/2
cexitاستعادة متجهات المقاطعة التي تم تغييرها بواسطة رمز بدء التشغيل.DOS، ويندوز، OS/2

الثوابت

اسموصفملحوظاتنظام التشغيل
_P_WAITيعلق العملية الرئيسية حتى تنتهي العملية الفرعية من التنفيذ.التكاثر المتزامن.MS-DOS، Win32، OS/2
_P_NOWAIT, _P_NOWAITOيستمر في تنفيذ عملية الاستدعاء بالتزامن مع العملية الجديدة.التكاثر غير المتزامن.Win32، OS/2
_P_OVERLAYيقوم بتراكب العملية الأصلية مع العملية الفرعية، مما يؤدي إلى تدمير العملية الأصلية.له نفس تأثير الوظائف exec*.MS-DOS، Win32، OS/2
_P_DETACHيتم تشغيل البرنامج الفرعي في الخلفية دون إمكانية الوصول إلى وحدة التحكم أو لوحة المفاتيح._cwaitستفشل الاستدعاءات على العملية الجديدة. إنشاء غير متزامن.Win32، OS/2
_WAIT_CHILDيُستخدم cwaitكفعل.برنامج قديم على نظام التشغيل ويندوز 32 بت.MS-DOS، OS/2
_WAIT_GRANDCHILDيُستخدم cwaitكفعل.برنامج قديم على نظام التشغيل ويندوز 32 بت.MS-DOS، OS/2

التطبيقات

نظراً لعدم وجود معيار موحد يُعتمد عليه في التنفيذ، تختلف الدوال المُعلنة في ملف process.h باختلاف المُصرّف المُستخدم. فيما يلي قائمة بالمُصرّفات التي تُوفّر ملف process.h.

الاختلافات

جانب آخر قد يختلف هو الطول الإجمالي لمعاملات exec* و spawn*.

  • ديلوري دي جيه جي بي بي: ليس لديها مثل هذا الحد. [ 15 ]
  • المريخ الرقمي: الحد الأقصى هو 128 بايت؛ لم يتم ذكر أي شيء بخصوص حرف النهاية '\0'.
  • Microsoft cl: يجب ألا تتجاوز قائمة الوسائط للعملية الجديدة 1024 بايت. [ 16 ]

مراجع

  1. "حقوق الطبع والنشر 1985-1989، شركة مايكروسوفت"، في ملف process.h الخاص ببرنامج QuickC الإصدار 2.00
  2. هل تم تهيئة قرصي المرن؟، groups-beta.google.com
  3. Delorie.com
  4. DJGPP process.h ، delorie.com
  5. Openwatcom.org مؤرشف بتاريخ 17 مارس 2015 في Wayback Machine
  6. مكتبة OpenWatcom، مؤرشفة بتاريخ 11 أكتوبر 2006 على موقع Wayback Machine ، openwatcom.org
  7. DigitalMars.com
  8. عملية Digital Mars process.h ، digitalmars.com
  9. MinGW.org
  10. "MSDN.Microsoft.com" . مؤرشف من الأصل بتاريخ 7 يوليو 2007. تم الاطلاع عليه بتاريخ 15 يناير 2007 .
  11. "Borland.com" . مؤرشف من الأصل بتاريخ 2012-11-05 . تم الاطلاع عليه بتاريخ 2007-01-15 .
  12. إصدار C 2.01 ، dn.codegear.com
  13. CS.Virginia.edu
  14. QNX.com
  15. نقطة ظهور DJGPP* ، delorie.com
  16. مايكروسوفت MSDN ، msdn.microsoft.com