منو
 کاربر Online
330 کاربر online

Intermediate Language

تازه کردن چاپ
علوم ریاضی > علو م رایانه > برنامه های کامپیوتری
(cached)




Intermediate Language

img/daneshnameh_up/8/8f/compics00080.jpg

IL ، یک زبان اسمبلی عمومی در مقایسه با زبان های اسمبلی نظیر 8080 و یا 6809 نیست . IL ، شامل مجموعه ای از دستورالعمل ها و یک بردار از ویژگی هائی است که بمنظور حمایت از عملیات ضروری و خصایص تعداد زیادی از برنامه های پیشرفته و شی گراء ، طراحی شده است . تاکید دات نت بر بودن بعنوان یک سیستم شی متداول در مقابل یک زبان برنامه نویسی خاص است .CLR ، مستقیما" ویژگی های زیادی را که عموما" بعنوان خصایص مربوط به زبان های برنامه نویسی مطرح می گردد، حمایت می نماید . این موضوع شامل یک سیستم نوع زبان های طبیعی برای حمایت از کلاس ها ، توارث ، نسبت دهی پویا ، مدیریت حافظه ، جمع آوری زائده های حافظه ، بررسی و برخورد با موارد غیر قابل پیش بینی و سایر موارد مرتبط است . مثلا" یک جمع کننده اطلاعات زائد حافظه ، مسئولیت حذف اشیاء غیر استفاده شده را از heap و بازیافت حافظه را بر عهده داشته و مهم نیست که کدها با چه زبانی نوشته شده اند .ارائه پتانسیل های فوق در CLR، یک پل ارتباطی معقول بمنظور تسهیل در ارتباط و یکپارچگی بین زبانها و عناصر را بدنبال خواهد داشت .از یک کمپایلر اختصاصی هر زبان، بمنظور ترجمه کدهای نوشته شده به IL ، استفاده می گردد.خروجی فرآیند ترجمه ، شامل IL و متا دیتا است .IL ، را می توان بمنزله یک زبان اسمبلی برای یک پردازنده مجازی stack-based دات نت تصور نمود . از این زاویه ، عملکرد IL ، مشابه کدهای P تولیده شده در نسخه های اولیه ویژوال بیسیک و یا بایت کدهای منتشر شده توسط یک کمپایلر جاوا ، است . ( IL ، قبل از اجراء بطور کامل ترجمه خواهد شد) . IL ، برای یک زبان خاص طراحی نشده است . عبارات IL ، نوع های متداول به اشتراک گذاشته شده را که توسط تمامی زبانهای دات نت ،استفاده می گردد ، پردازش می نمایند . سیستم نوع فوق ، CTS ) Common Type System) ، نامیده می شود. یک نوع دات نت، چیزی بمراتب بیشتر از یک نوع داده است . نوع های دات نت ، عموما" توسط کلاس هائی شامل کد و اعضاء داده تعریف می گردند. در زمان اجراء ، CLR)Common Language Runtime) ، مسئولیت استقرار یک برنامه دات نت در حافظه و اجرای آن را برعهده خواهد داشت .بمنظور نیل به هدف فوق ، CLR از تکنیکی با نام JIT) Just-In-Time) بمنظور ترجمه IL به کد مختص و وابسته به یک ماشین استفاده می نماید . کد دات نت ،همواره ترجمه و هرگز تفسیر نمی گردد ، بنابراین دات نت از یک ماشین مجازی بمنظور اجراء برنامه استفاده نکرده و در مقابل کد IL برای هر متد براساس کمپایلر JIT در اولین فراخوانی ترجمه خواهد شد. در مرتبه بعد که یک متد صدا زده می شود ، کد ترجمه شده توسط JIT ، اجراء خواهد شد .ماحصل فرآیند ترجمه ، تولید یک فایل اجرائی ویندوز با فرمت PE)Portable Executable) ، است .در رابطه با فایل فوق ، ذکر دونکته ضروری است : اول اینکه ، CLR از زبان استفاده شده برای تولید برنامه و یا عنصر مورد نظر آگاهی نداشته و صرفا" به کدهای IL توجه خواهد داشت .ثانیا" ، در تئوری استفاده ازکمپایلر JIT تمام عملیات مورد نیاز بمنظور استفاده از پتانسیل های دات نت است .


دات نت و کد مدیریت یافته

img/daneshnameh_up/7/7d/IL1.jpg

نحوه اجراء برنامه های دات نت تابع مدلی است که در شکل فوق ، نشان داده شده است . کد تولید شده که مقصد آن CLR فریمورک دات نت باشد را برنامه های مدیریت یافته ( managed applications ) می گویند. در مقابل،برنامه های ویندوز غیر از دات نت با نام برنامه های غیرمدیریت یافته ( unmanaged applications ) از آنان یاد می گردد. مایکروسافت بر این مسئله تاکید نموده است که در حال حاضر و طی سالیان آتی نیاز به این نوع برنامه ها وجود داشته( برنامه های غیرمدیریت یافته ) و تمهیدات لازم در خصوص ارتباط بین آنها اندیشیده شده است. متداولترین نیاز در این رابطه، همزیستی برنامه های دات نت در کنار عناصر COM است . بدین منظورمایکروسافت ، امکان فعالیت و کار برنامه های دات نت را با عناصر غیرمدیریت یافته COM ، فراهم نموده است . در این راستا می توان یک عنصر دات نت را بعنوان یک شی COM ریجستر کرد. در رویکردی مشابه ، دات نت امکان دستیابی به Win32 API برای برنامه های دات نت را فراهم تا از این طریق و در صورت تمایل و ضرورت ، عناصر مدیریت یافته قادر به فراخوانی توابع غیر مدیریت یافته موجود در یک DLL)Dynamic Link Library) ، باشند .


پیوندهای خارجی


همچنین ببینید



تعداد بازدید ها: 12626


ارسال توضیح جدید
الزامی
big grin confused جالب cry eek evil فریاد اخم خبر lol عصبانی mr green خنثی سوال razz redface rolleyes غمگین smile surprised twisted چشمک arrow



از پیوند [http://www.foo.com] یا [http://www.foo.com|شرح] برای پیوندها.
برچسب های HTML در داخل توضیحات مجاز نیستند و تمام نوشته ها ی بین علامت های > و < حذف خواهند شد..