تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 3 از 3 اولاول 123
نمايش نتايج 21 به 22 از 22

نام تاپيک: آموزش زبان برنامه نوسی #C

  1. #21
    Banned
    تاريخ عضويت
    Sep 2008
    پست ها
    33

    پيش فرض

    1-1-1- .NET و استانداردهای CLI
    یک توسعه دهنده قبل از صرف زمان برای یادگیری .NET و C# میپرسد : آیا این مهارت را میتواند به PLATFORM های دیگر تبدیل کند ؟ آیا محصول NET. مایکروسافت فقط مختص سیستم عامل ویندوز است ؟ آیا قابل حمل و اجرایی است و قابل استفاده بر روی سیستم های عامل دیگر نیز میباشد ؟ برای جواب دادن به این سوالات درک رابطه بین C# و استانداردهای CLI ضروری میباشد.
    CLI یک محیط اجرایی مجازی مستقل از PLATFORM را تعریف میکند . در واقع هیچ سیستم عاملی را تعیین نمیکنه و برای لینوکس هم همانند ویندوز راحت است . بخش استاندارد مرکزی تعریف یک Common Intermediate Language ) CLI) است که باید توسط کامپایلرهای مطیع CLIتولید شود . بخش دیگر سیستم نوع (Type System ) است . که همه انواع داده­های پشتیبان شده توسط هر زبان مطیع CLI را تعریف میکند . این کد میانی به زبان اصلی سیستم عامل میزبان کامپایل میشود .
    CLI استانداردهایی را برای C# در بر دارد که به وسیله مایکروسافت توسعه و ارتقا یافته­اند .
    (Fortran,Pascal,Pythen,Defacto).
    در ادامه بحثمان نحوه پیاده سازی مایکروسافت از استانداردهای CLI را تشریح میکنیم . فرض ما برآناستكهميتوانيمازكدهايق بلينوشتهشدهنيزاستفاده کنیم و كدهايپياده سازيشدهتوسط .NET به سیستم عامل دیگری منتقل نخواهد شد و محیط مجازی گفته شده نیز شفاف است .
    1-2- CLR
    CLRتمام چرخه ي زندگي يك برنامه كاربردي رامديريت ميكند. آن كد را يافته وكامپايل ميكند. كلاسهاي تخصيص يافته را بارگذاري ميكند. اجرايش را مديريت ميكند ومديريت اتوماتيك حافظه را مطمئن ميسازد . آن ارتباط بين زباني را پشتيباني ميكند ، تا تعامل مابين كدهاي نوشته شده در زبانهاي مختلف را مجاز دارد . اين بخش كاركرد داخلي CLR را نشان ميدهد. آن يك بحث عمقي نيست وفقط ميخواهد شما را با اصطلاح آن آشنا سازد.
    Last edited by TKNC; 26-09-2010 at 08:10.

  2. این کاربر از TKNC بخاطر این مطلب مفید تشکر کرده است


  3. #22
    Banned
    تاريخ عضويت
    Sep 2008
    پست ها
    33

    پيش فرض

    1-2-1 کامپایل کردن کد .NET
    کامپایلرهای مطیع CLR کدی تولید میکنند که کد هدف زمان اجرا بوده و برای یک cpu خاص پیشنهاد شده است . این کد به نام cll است . IL یا MSIL یک زبان از نوع اسمبلی است که در یک فایل DLL یا EXE بسته بندی میشود . توجه کنید که اسمبلی ها فایل هایی با استاندارد اجرایی نیستند . لازم است یک کامپایلر زمان اجرا به نام JIT و IL به یک کد ماشین خاص تبدیل کند . ( زمانیکه برنامه واقعا اجرا میشود ) . چون CLR مسئول مدیریت این IL است ، این کد میانی یکی از کلیدهای رویارویی با اهداف اسمی چارچوب .NET از نظر سازگاری زبان است .
    هدف دیگر .NET قابلیت حمل platform است . که با محلی کردن ( localizing ) ایجاد کد ماشین در کامپایلر JIT فراهم میشود . بدین معنی که IL تولید شده روی یک Platform میتواند روی Platform دیگری که چارچوب خاص خودش و یک کامپایلر JIT با کد ماشین خاص خودش را دارد ، اجرا شود .
    کامپایلرهایی که کد هدف آنها CLR است ، برای هر ماژول علاوه بر تولید IL ، باید فراداده¬ای ( metadata ) را نیز صادر کنند . در فراداده¬ها مجموعه¬ای از جداول قرار مي گيرند تا هر ماژول ، كد خود – توصيف (Self descriptive ) داشته باشد . در جداول علاوه بر توصيف كامل كد، اطلاعاتي درباره اسمبلي ها نيز وجود دارد . اين اطلاعات شامل موارد د يگر نيز هستند: چه نوع داد ه هايي در دسترس هستند ؟
    نام هر نوع داده، اعضاي نوع داده، دامنه يا ميدان د يد نوع داده و ويژگي هاي هر نوع داده ديگر . فراداده هاي ديگري كه
    كاربردهاي زيادي دارند:
    *مهمترین کابرد آن بوسیله کامپایلر JIT است که اطلاعات همه نوع داده¬های مورد نیاز برای کامپایل کردن را مستقیما از فراکد جمع آوری میکند . این اطلاعات را برای بررسی کد که به کار میبرد تا مطمئن شود برنامه عملیات را به درستی انجام میدهد . برای مثال JIT از طریقه مقایسه¬ی پارامترهای متد ، فراخوانی صحیح را مطمئن میسازد .
    *فراداده¬ها در پروسه جمع آوری زباله استفاده میشوند . جمع کننده زباله ، برای شناسایی فیلدها و ارجاعات آنها از فراداده¬ها استفده میکند و میتواند تعیین کند حافظه¬ی چه اشیایی میتوانند آزاد شوند یا نه .
    *.NET یک مجموعه از کلاس¬ها برای خواندن فراداده¬های یک برنامه فراهم میکند این توانایی به نام انعکاس(Reflection)شناخته میشود که یک ویژگی قدرتمند است و اجازه میدهد یک برنامه در زمان اجرا ، کد را مورد جستجو قرار دهد و بر اساس اطلاعات یافته شده تصمیم گیری کند . میتوان صفات سفارشی را به فراداده اضافه کرد .
    IL و فراداده¬ برای فراهم ساختن ارتباط بین زبانی بسیار مهم هستند . اما دنیای واقعی به همه کامپایلرهای .NET که یک مجموعه¬ی مشترک از انواع داده¬ای و توصیف زبان را پشتیبانی میکنند ، منوط است . برای مثال دو زبان در IL سازگار نیستند . اگر یک عدد صحیح علامت دار 32 بیتی را پشتیبانی کند و دیگری آن را پشتیبانی نکند . آنها ممکن است گرامر متقاوتی را داشته باشند اما باید روی انواع داده¬ای پایه که پشتیبانی میکنند توافق داشته باشند .
    همانطور که قبلا بحث شده CLI یک توصیف رسمی به نام CTS تعریف میکند که بخش مکمل CLR است . آن شرح میدهد که چگونه انواع داده¬ای تعریف میشوند و چگونه باید رفتار کنند تا بوسیله CLR پشتیبانی شوند .
    Last edited by TKNC; 26-09-2010 at 08:10.

صفحه 3 از 3 اولاول 123

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

برچسب های این موضوع

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •