هل امتثل برنامج في عمل 64 بت على آلة 32 بت؟
-
19-09-2019 - |
سؤال
كما قال العنوان، لدي برنامج C الامتثال وخلق ثنائي في آلة 64 بت. هذا العمل الثنائي تحت 32 بت؟
المحلول
لا يمكن تشغيل ثنائيات 64 بت على نظام التشغيل 32 بت. لو file
إقرار ELF 64-bit
, ، لديك ثنائي 64 بت.
من أجل بناء ثنائيات 32 بت على لينكس 64 بت، تحتاج إلى تمرير -m32
إلى دول مجلس التعاون الخليجي. تحتاج أيضا إلى تثبيت مكتبات 32 بت (sudo apt-get install libc6-dev-i386
).
نصائح أخرى
آلة تجميع لا يهم. ما يهم هو: هل يتم إنشاء التعليمات البرمجية 32 بت (إجابة: نعم) أو 64 بت (إجابة: لا).
هل ستعمل على جهاز 32 بت؟ واحد مع وحدة المعالجة المركزية التي لا تدعم وضع 64 بت؟ لا.
هل ستعمل على VM 64 بت على نظام التشغيل الأصلي 32 بت؟ نعم، في تجربتي.
نتيجة مفاجئة هي أن VMS 64 بت يمكن تشغيلها تحت نظام تشغيل مضيف 32 بت، شريطة أن تكون وحدة المعالجة المركزية قادرة على أنها لا ترغب في تخصيص الكثير من ذاكرة الوصول العشوائي (> 2 جرام أو ما بعدها) إلى الضيف.