05-10-12, 10:08 PM
منقول من المنتدى القديم
صاحب الرد أحمد جمال المشرف العام
Common Language Specification
كما ذكرنا في الموجز السابق ، ال CLS هي subset من ال CTS تصف الحد الأدنى من المتطلبات اللازمة لنستطيع القول ان هذه اللغة تعمل تحت بيئة .net ، وبمعنى آخر ، فإن بعض محتويات CTS اختيارية حيث يمكن ان تجدها في بعض لغات .net ولا تجدها في الآخر ، مجموعة من محتويات CTS تم تجميعها في CLS لتكون اجبارية لكل لغة تستخدم بيئة .net للتطوير .
ويتم اطلاق مصطلح CLS Rules على هذه الشروط الاجبارية ، ويتم توصيفها ولا بد من تطبيقها لكل لغة تستخدم بيئة .net للتطوير .
بالنسبة للغات C# و VB.net ، هناك مجموعة كبيرة من الخصائص التي لا يضمها ال CLS ، بامكانك معرفة اذا كان الكود الذي تستخدمه موجود ضمن ال CLS ام لا لمراعاة عملها على جميع أنظمة التشغيل من خلال الكود التالي :
سنتعرف على المزيد عنذ كتابة ال assembly في مراحل قادمة ، وحتى ذلك الحين ، إذا كنت مهتماً بموضوع ال CLS يمكنك مواصلة القراءة من هنا :
http://msdn2.microsoft.com/en-us/library...S.71).aspx
والله الموفق ..
والسلام عليكم ورحمة الله وبركاته .
Common Language RunTime :
كما ذكرنا سابقاً ، فإن ال CLR تضم كافة المعلومات المطلوبة ليعمل كود ال .net الخاص بك على الجهاز بغض النظر عن اللغة التي تمت بها كتابة الكود الأصلي ، ولتقريب المثال ، إذا كنت مبرمج فيجوال بيسك فإنك مضطر لوجود msvbvm60.dll على الجهاز ليعمل برنامجك المصمم بالفيجوال بيسك وبالأدوات الرئيسية ، اما لو كنت مبرمج جافا فإنك تحتاج إلى JVM على الجهاز الذي سيعمل عليه تطبيقك ... وبنفس الطريقة ، فإن ال CLR هو الملف الوحيد الذي تحتاجه ليعمل تطبيقك المصمم تحت بيئة .net على اي جهاز كومبيوتر .
ففي عالم ال .net ، تحتاج لوجود مكتبة ال CLR المسماه mscoree.dll اختصاراً ل Microosft Common Object Runtime Execution Engine ، مع بدء برنامجك ومع بداية اشارة ملف الاسمبلي إلى هذه المكتبة يقوم ال CLR بعمل Load لملف الاسمبلي وقراءة ال metadata ، يعمل Load ايضاً لل Types في الميموري ، واخيراً يقوم بترجمة اوامر البرنامج الموجودة في CIL إلى platform specific instructions كما اتفقنا سابقاً ليمكنه التنفيذ على جهازك ... اخيراً يبدء ال CLR بتنفيذ برنامجك ، وخلال عمل البرنامج سيقوم ال CLR بالتعامل مع الفئات الاساسية لل .net الموجودة في Base Class إذا كنت تستخدمها في برنامجك .
هذا المخطط من ويكبديا يوضح مراحل كتابة الكود حتى تحويله إلى native كود ومن ثم تنفيذه :
وكالعادة ، إذا كنت ترغب في معرفة المزيد يمكنك البدء من هنا :
http://msdn2.microsoft.com/en-us/library...S.71).aspx
والله الموفق ....
والسلام عليكم ورحمة الله وبركاته .
صاحب الرد أحمد جمال المشرف العام
Common Language Specification
كما ذكرنا في الموجز السابق ، ال CLS هي subset من ال CTS تصف الحد الأدنى من المتطلبات اللازمة لنستطيع القول ان هذه اللغة تعمل تحت بيئة .net ، وبمعنى آخر ، فإن بعض محتويات CTS اختيارية حيث يمكن ان تجدها في بعض لغات .net ولا تجدها في الآخر ، مجموعة من محتويات CTS تم تجميعها في CLS لتكون اجبارية لكل لغة تستخدم بيئة .net للتطوير .
ويتم اطلاق مصطلح CLS Rules على هذه الشروط الاجبارية ، ويتم توصيفها ولا بد من تطبيقها لكل لغة تستخدم بيئة .net للتطوير .
بالنسبة للغات C# و VB.net ، هناك مجموعة كبيرة من الخصائص التي لا يضمها ال CLS ، بامكانك معرفة اذا كان الكود الذي تستخدمه موجود ضمن ال CLS ام لا لمراعاة عملها على جميع أنظمة التشغيل من خلال الكود التالي :
كود :
[assembly: System.CLSCompliant(true)]سنتعرف على المزيد عنذ كتابة ال assembly في مراحل قادمة ، وحتى ذلك الحين ، إذا كنت مهتماً بموضوع ال CLS يمكنك مواصلة القراءة من هنا :
http://msdn2.microsoft.com/en-us/library...S.71).aspx
والله الموفق ..
والسلام عليكم ورحمة الله وبركاته .
Common Language RunTime :
كما ذكرنا سابقاً ، فإن ال CLR تضم كافة المعلومات المطلوبة ليعمل كود ال .net الخاص بك على الجهاز بغض النظر عن اللغة التي تمت بها كتابة الكود الأصلي ، ولتقريب المثال ، إذا كنت مبرمج فيجوال بيسك فإنك مضطر لوجود msvbvm60.dll على الجهاز ليعمل برنامجك المصمم بالفيجوال بيسك وبالأدوات الرئيسية ، اما لو كنت مبرمج جافا فإنك تحتاج إلى JVM على الجهاز الذي سيعمل عليه تطبيقك ... وبنفس الطريقة ، فإن ال CLR هو الملف الوحيد الذي تحتاجه ليعمل تطبيقك المصمم تحت بيئة .net على اي جهاز كومبيوتر .
ففي عالم ال .net ، تحتاج لوجود مكتبة ال CLR المسماه mscoree.dll اختصاراً ل Microosft Common Object Runtime Execution Engine ، مع بدء برنامجك ومع بداية اشارة ملف الاسمبلي إلى هذه المكتبة يقوم ال CLR بعمل Load لملف الاسمبلي وقراءة ال metadata ، يعمل Load ايضاً لل Types في الميموري ، واخيراً يقوم بترجمة اوامر البرنامج الموجودة في CIL إلى platform specific instructions كما اتفقنا سابقاً ليمكنه التنفيذ على جهازك ... اخيراً يبدء ال CLR بتنفيذ برنامجك ، وخلال عمل البرنامج سيقوم ال CLR بالتعامل مع الفئات الاساسية لل .net الموجودة في Base Class إذا كنت تستخدمها في برنامجك .
هذا المخطط من ويكبديا يوضح مراحل كتابة الكود حتى تحويله إلى native كود ومن ثم تنفيذه :
وكالعادة ، إذا كنت ترغب في معرفة المزيد يمكنك البدء من هنا :
http://msdn2.microsoft.com/en-us/library...S.71).aspx
والله الموفق ....
والسلام عليكم ورحمة الله وبركاته .
