الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

المقاطعات

مغلق
بدأه abram في 11 مايو 2004 · 1 رد · 381 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

كيف ممكن أن اعمل دالة لاستخدام مقاطعة ما في الجهاز

مثلا الشاشة

ورجاء تكون بالسي++ وليس الاسمبلي المدمجة في سي++

وممكن شرح لكلمة extern وما الفرق بين الثوابت الحرفية والرمزية

وشكرا لتجاوبكم

#2

السلام عليكم ,,

أفضل طريقة للتحكم في جهاز ما على المستوى الأدنى هو كتابة Device Driver خاص به ,,

يعني يمكنك الوصول لذاكرة كرت الشاشة وبشكل مباشر والكتابة عليها ,, بالطبع على السطح الخلفي ,, وبعدها ستظهر البيانات التي غيرتها على الشاشة بشكل مباشر ,, بالطبع لن تحتاج ل Device Driver لتصل فقط للمكدس الخلفي ,, لكن ال device Driver يفيد في الكثير من الأمور ,,

بالنسبة للكلمة الأساسية extern ,, فلها استخدام اساسي في تعدد الملفات ,, لم أستعملها من قبل لهذه النقطة ,, حيث بتعريف متغير x مثلا على أنه extern ,, يكون مرئيا في الملفات الأخرى في المشروع ,,

استخدام آخر ل extern وجدته حيث يكون على الشكل ,,

extern "C" void Min(int m,int r);

هنا في هذه الحال يتم تصدير الدالة Min لتصبح على شكل C Code اذا كانت مثلا مكتوبة بالسي++ ,,

مشكلة كهذه رأيتها في أحدى مصرفات ال Linux ,, الخاصة بلغة السي فقط ,,

حيث لايمكن استدعاء كود سي++ منها ,,

على سبيل المثال الدوال المصدرة بواسطة مصرف سي++ ,, لاتعمل بشكل مباشر مع مصرف السي ,,

يجب تصديرها بواسطة كلمة extern الأساسية ,,

أما بالنسبة للثوابت الحرفية والرمزية فلا أعرف ماذا تقصد بالرمزية ,, وضح لأساعدك باذن الله ,,

banner_60_468.gif

NOTHING IS IMPOSSIBLE

هذا الموضوع مغلق.

مواضيع مشابهة