نمایش نتایج 1 تا 2 از 2

نام تاپیک: کد ماشین یک فایل EXE چطور تولید می شود؟

  1. #1

    کد ماشین یک فایل EXE چطور تولید می شود؟

    سلام،
    سوال من این است که وقتی دو CPU از دستورالعمل های متفاوتی پشتیبانی می کنند و دارای برخی دستورات مشترک هم هستند چطور یک فایل EXE روی هر دو اجرا می شود؟
    وقتی کامپایلری مثل کامپایلر ++C یک کد ماشین تولید می کند چرا روی ماشین های با Instruction Set های مختلف اجرا می شود؟

  2. #2

    نقل قول: کد ماشین یک فایل EXE چطور تولید می شود؟

    البته خودتون جواب رو داديد. كامپايلرها در حالت كلي فقط از دستورات مشترك استفاده مي‌كنند. به عنوان مثال شما نمي‌تونيد برنامه‌اي كه براي 586 كامپايل كرديد رو با استفاده از پردازنده‌ةاي اسپارك sun اجرا كنيد ولي مي‌تونيد آن‌ها را روي دسته بزرگي از پردازنده‌هاي سازگار مانند رده‌هاي مختلف 586 شركت Intel و حتي AMD اجرا كنيد. البته دليلش هم سازگاري كدهاي توليد شده توسط كامپايلر است. اغلب كامپايلرها گزينه‌هائي براي توليد كدهاي خاص و بهينه سازي براي يك پردازنده خاص نيز دارند و در صورتي كه برنامه نويس بخواهد برنامه‌اش را فقط با استفاده از پردازنده مشخصي اجرا كنيد كاربرد دارد.

    بعضي كامپايلرها مانند watcom C++‎ compiler كدهاي ويژه پلاتفرم‌هاي مختلف ايجاد مي‌كنند به عبارت ديگر مي‌توانيد يك برنامه را براي پلاتفرم‌هاي مختلف كامپايل كنيد البته براي هر پلاتفرم فايل اجرائي متناسب آن ايجاد مي‌شود.

    همچنين بايد اضافه كرد كه سيستم‌عامل‌ها هم در اين ميان نقش خود را بازي مي‌كنند. استفاده از VM در بسياري از سيستم عامل‌هاي جديد اجازه‌ي اجراي برنامه‌هاي متفاوتي را در اختيار قرار مي‌دهد ساده‌ترين نمونه اجراي برنامه‌هاي DOS در windows است.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •