التحكم في العمليات C

يشير مصطلح "التحكم في العمليات" في لغة C إلى مجموعة من الدوال الموجودة في المكتبة القياسية للغة البرمجة C، والتي تُنفذ عمليات التحكم الأساسية في العمليات. [ 1 ] [ 2 ] تشمل عمليات التحكم في العمليات إجراءات مثل إنهاء البرنامج مع مستويات مختلفة من التنظيف، أو تشغيل مترجم أوامر خارجي، أو الوصول إلى قائمة عمليات البيئة.

نظرة عامة على الوظائف

يتم تعريف وظائف التحكم في العملية في stdlib.hملف الرأس ( cstdlibheader في لغة C++).

وظيفةوصف
إنهاء برنامجabortيتسبب في إنهاء البرنامج بشكل غير طبيعي (بدون تنظيف)
exitيؤدي إلى إنهاء البرنامج بشكل طبيعي مع عملية التنظيف
_Exitيؤدي إلى إنهاء البرنامج بشكل طبيعي دون تنظيف ( C99 )
atexitيسجل دالة ليتم استدعاؤها عند استدعاء الدالة exit()
quick_exitيؤدي إلى إنهاء البرنامج بشكل طبيعي دون تنظيف، ولكن مع مسح مخازن الإدخال/الإخراج ( C11 )
at_quick_exitيسجل دالة ليتم استدعاؤها عند استدعاء الدالة quick_exit()
التواصل مع البيئةgetenvالوصول إلى قائمة متغيرات البيئة
systemيستدعي معالج الأوامر الخاص ببيئة المضيف

مثال

فيما يلي مثال على التواصل مع بيئة النظام في لغة C.

#include <stdio.h> #include <stdlib.h>int main () { char * path = getenv ( "PATH" ); if ( ! path ) { fprintf ( stderr , "لم يتم العثور على متغير البيئة PATH. \n " ); } else { printf ( "متغير PATH: %s \n " , path ); }printf ( "عرض محتويات الدليل الحالي باستخدام system( " ls " ): \n " ); int ret = system ( "ls" );إذا كانت قيمة ret تساوي -1 ، فسيتم طباعة رسالة " فشل استدعاء الدالة system()!" على الخطأ القياسي .return 0 ; }

مراجع

  1. كروفورد، توني؛ بيتر برينز (ديسمبر 2005). C باختصار . §16.11 – التحكم في العمليات : أورايلي. ص  618. ISBN 0-596-00697-7.{{cite book}}: CS1 maint: location ( link )
  2. مواصفة ISO/IEC 9899:1999 (ملف PDF) . صفحة 315، الفقرة 7.20.4 "التواصل مع البيئة" . تم الاطلاع عليها بتاريخ 25 نوفمبر 2011 .