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*.
مراجع
- ↑ "حقوق الطبع والنشر 1985-1989، شركة مايكروسوفت"، في ملف process.h الخاص ببرنامج QuickC الإصدار 2.00
- ↑ هل تم تهيئة قرصي المرن؟، groups-beta.google.com
- ↑ Delorie.com
- ↑ DJGPP process.h ، delorie.com
- ↑ Openwatcom.org مؤرشف بتاريخ 17 مارس 2015 في Wayback Machine
- ↑ مكتبة OpenWatcom، مؤرشفة بتاريخ 11 أكتوبر 2006 على موقع Wayback Machine ، openwatcom.org
- ↑ DigitalMars.com
- ↑ عملية Digital Mars process.h ، digitalmars.com
- ↑ MinGW.org
- ↑ "MSDN.Microsoft.com" . مؤرشف من الأصل بتاريخ 7 يوليو 2007. تم الاطلاع عليه بتاريخ 15 يناير 2007 .
- ↑ "Borland.com" . مؤرشف من الأصل بتاريخ 2012-11-05 . تم الاطلاع عليه بتاريخ 2007-01-15 .
- ↑ إصدار C 2.01 ، dn.codegear.com
- ↑ CS.Virginia.edu
- ↑ QNX.com
- ↑ نقطة ظهور DJGPP* ، delorie.com
- ↑ مايكروسوفت MSDN ، msdn.microsoft.com
روابط خارجية
- process.h
- رؤوس لغة البرمجة C
