في مجال الحوسبة ، ما هي نقطة الدخول؟

في أجهزة الكمبيوتر ، نقطة الدخول هي النقطة في البرنامج أو الوحدة النمطية أو الوظيفة حيث يبدأ الرمز ؛ على وجه التحديد ، عنوان الذاكرة حيث تبدأ. في البرنامج ، هو أول وحدة نمطية من التعليمات البرمجية ، أو حتى السطر الأول من التعليمات البرمجية التي يتم تنفيذها. في برنامج خطي ، مثل BASIC أو COBOL ، تكون نقطة الإدخال حرفياً هي السطر الأول من التعليمات البرمجية. ثم يتبع الرمز بالتتابع حتى يتم تنفيذ نوع من القفز أو الاستدعاء. في البرمجة المعيارية ، مثل جميع متغيرات لغة البرمجة C ، تكون نقطة الدخول هي وحدة البداية. في لغة C ، هذه هي الوظيفة “Main ()”.

في البرامج وأنظمة التشغيل الأقدم ، يمكن أن يحتوي البرنامج على نقاط دخول متعددة ، اعتمادًا على الوظيفة أو النظام الذي تم تنفيذه. في معظم أنظمة التشغيل الحديثة ، بما في ذلك Windows® و Unix ، تتم كتابة البرامج بلغات تدعم نقطة دخول واحدة. حتى في الأيام الأولى للحوسبة الحديثة ، فإن لغات مثل BASIC ، مع وجود نقطة دخول واحدة للبرنامج ، قد تدعم “القفزات الطويلة” ، حيث قد “يقفز” البرنامج من وحدة نمطية إلى نقطة دخول وحدة أخرى بشكل عشوائي. وقد شجع هذا ما يسمى بـ “كود السباغيتي” ، والذي كان من الصعب الحفاظ عليه أو تعديله.

قد لا تشير نقطة الدخول حتى إلى نقطة دخول البرنامج ولكن يمكن أن تكون نقطة دخول مكتبة الارتباط الديناميكي (DLL) ، وهي نوع من البرامج المصغرة التي يتم مشاركتها عبر برامج أخرى. أحد الأمثلة على ذلك هو ملف DLL الذي يتحكم في إدخال لوحة المفاتيح. بغض النظر عن نوع البرنامج أو الوحدة النمطية أو الوظيفة ، فإن نقطة الدخول هي النقطة الوحيدة التي يتم فيها معالجة الكائنات في هذا الجزء من الكود. يكمن مفتاح فهم أي لغة أو تعديل أي برنامج ودعمه في فهم كيفية تحديد نقطة الدخول في هذا البرنامج أو نظام التشغيل المحدد.

تم تطبيق مفهوم نقاط الدخول عندما تركت برمجة الكمبيوتر الأساليب الخطية تمامًا في الأيام الأولى. في تلك الأوقات ، بدأ برنامج الكمبيوتر في السطر الأول من التعليمات البرمجية واستمر في سطر واحد في كل مرة حتى نهاية العملية. سرعان ما أنشأت بنيات البرمجة مثل الحلقات والتفريع الشرطي والتكرار وغيرها برامج أكثر كفاءة وظيفيًا ، لكن المعالجة ارتدت في كل مكان داخل الكود. تعني طبيعة هذه البرامج أنه قد يكون هناك العديد من الأسطر أو الأقسام من التعليمات البرمجية قبل النقطة التي تبدأ فيها المعالجة فعليًا. لهذا السبب ، تم إنشاء وتحديد نقطة الدخول.

في C ، أصبحت هذه الوظيفة () الرئيسية. بغض النظر عن مكان وجود هذه الوظيفة في الكود ، فهذا هو المكان الذي بدأت فيه المعالجة. في اللغات الأخرى ، لا يتم تحديد نقاط الدخول بقدر ما يتم تحديدها من خلال مكانها ولكن حيثما لا يتم تحديدها. قد تحتوي بداية البرنامج على أقسام من الإعلانات المتغيرة والإجراءات الفرعية. يصبح السطر الأول من التعليمات البرمجية الذي يتبع هذه المجالات أو الوظائف ، افتراضيًا ، نقطة الدخول.