PDA

View Full Version : زبان C# یک زبان مفسری است یا کامپایلری؟



Masoome_das
دوشنبه 29 آذر 1389, 12:14 عصر
سلام دوستان
می خواستم بدانم که سی شارپ یک زبان مفسری است یا کامپایلری یعنی فایل Exe آن در کامپیوتر دیگری قابلیت اجرا دارد یا خیر

tooraj_azizi_1035
دوشنبه 29 آذر 1389, 12:34 عصر
سلام،
سورس #C توسط کامپایلر به کد میانی یا IL مایکروسافت ترجمه می شه. برای اجرای این کد اصطلاحاً یک Host به نام CLR مخفف Common Language Runtime نیاز هست که با نصب .NET Framework این Host روی سیستم مورد نیاز آماده می شود. بخشی از این میزبان اجرا JIT Compiler یا Just-In-Time کامپایلر است که پس از اجرای برنامه توسط کاربر وظیفه تبدیل برنامه به کد خاص CPU سیستم مقصد رو داره، یعنی همیشه برنامه به صورت IL ذخیره می شود. البته ابزاری به NGen.exe می تواند کد Native یا محلی را که همه جا اجرا می شود را تولید کند. اما مزیت JIT این است که از توان آن CPU خاص بهره کافی را می برد. علاوه بر این، اجرای کد شما مدیریت می شه و به کد تولید شده توسط کامپایلر کد مدیریت شده (Managed Code) گفته می شه. منظور از مدیریت، مدیریت حافظه، نخ یا Thread و مفاهیم بیشتر دیگری است که می توان با ایجاد یک تاپیک گفتگوی تخصصی توضیحات بیشتر را ارائه داد.
می توانید در صورت علاقه به سراغ کتابی با عنوان CLR Via C# 2 در گوگل بروید. :خجالت: