تفاوت بین راه انداز و متقاطع متقابل چیست؟


پاسخ 1:

وقتی نوبت به کامپایلر می رسد ، bootstrapping کامپایلر را برای زبان به زبانی که می خواهید کامپایل کنید می نویسد.

به عنوان مثال ، برای تولید مونتاژ از منبع C ، یک کامپایلر لازم است. از آنجا که نوشتن کامل کامپایلر در یک سطح پایین کار دشوار است ، ما برای نوشتن یک زیر مجموعه کوچک از کامپایلر از مونتاژ استفاده می کنیم. این زیر مجموعه کوچکتر بعدا برای تهیه کامپایلر نهایی مورد استفاده قرار می گیرد. کامپایلری که به زبان C نوشته شده است برای تولید مونتاژ از منبع C استفاده می شود. بنابراین مثل این است که خود را روی پاهای خود بلند کنید و خود را به سمت بالا خم کنید.

از طرف دیگر ، کامپایل کراس یک فرآیند تلفیقی است که در طی آن روی میزبان ، نرم افزار یا معماری سخت افزاری آن ، کد دستگاه برای هدف دیگری تولید می شود. نمونه بارز تهیه فایل برنامه ARM در رایانه شخصی لینوکس است.


پاسخ 2:

متقابل می تواند برای پلتفرمی غیر از نسخه ای که در آن سازگار اجرا شده است ، کد اجرایی ایجاد کند. به عنوان مثال ، کامپایلری که روی ویندوز کار می کند اما برای اندروید کدی تولید می کند ، کامپایلر متقاطع است. در طول راه اندازي راه اندازي ، يك سازگار براي برنامه منبع نوشته مي شود.

منبع: gateoverflow.in


پاسخ 3:

کامپایلر متقاطع یک کامپایلر است که می تواند برای سکویی غیر از سکویی که کامپایلر در آن کار می کند ، کد اجرایی ایجاد کند. به عنوان مثال ، کامپایلری که بر روی ویندوز اجرا می شود اما کد اجرایی را در Android تولید می کند ، کامپایلر متقاطع است. در حین راه اندازي راه اندازي ، يك کامپايلر در برنامه منبع نوشته مي شود.


پاسخ 4:

کامپایلر متقاطع یک کامپایلر است که می تواند برای سکویی غیر از سکویی که کامپایلر در آن کار می کند ، کد اجرایی ایجاد کند. به عنوان مثال ، کامپایلری که بر روی ویندوز اجرا می شود اما کد اجرایی را در Android تولید می کند ، کامپایلر متقاطع است. در حین راه اندازي راه اندازي ، يك کامپايلر در برنامه منبع نوشته مي شود.