-3

لمادا برامج واليندوز لا تعمل على الـ Linux والعكس

  • DevRami

لمادا لا يمكن لوينوز او لينيكس تشغيل برامج لنضام تشغيل اخر

فمثلا اداا قمت بكتابتة برنامج بلغة السي و قمت بالـ Compilation ..على الداف سي ++ وتحصلت على ملف FILE.exe هدا الملف يعمل على الويندوز عادي لكن ادا قمت بمحاولة تشغيله على اللينكس فلن يعمل فلمادا ؟

او ادا قمنا بعكس اي عمل Compilation ..على Terminal "gcc -o file.x file.c" الـ ملف الجديد FILE.x لن يعمل على ويندوز ايضاا

فما الفرق بين الملفين ؟ FILE.x / File.c

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

تقريبا على حسب لغة البرمجة

البرامج المصنوعة بلغة البايثون تعمل على كل الانظمة

لأن Python, Java تخرج Byte Code وهو Platform Indpended، لكن هو يتحدث عن الملفات التنفيذيه مثلاً مفسر جافا أو بايثون الذي تستخدمه لكي تنفذ برامجك فهو ايضاً يختلف من ويندوز ويختلف عن لينوكس لأنه مرتبط بالنظام وسوف يتعامل معه

طبيعة الملفات التنفيذية تختلف من نظام لأخر، لذلك ال Loader لا يفهم الا الفورمات التي يعرفها، مثلاً عندما تشغل اي EXE فالWindows Loader سوف يقرأ الملف ويعرف مثلاً ان اول عدة بايتات هي كذا، البايتات التي في الموقع الفلاني سوف تكون البدايه لتحميل المكتبات، والخ وهذا يختلف من نظام لأخر

اضافه وهي الاهم أن اي برنامج تكتبه سوف يستخدم مكتبة النظام ويستدعي دوال النظام التي ترجم عليها ، لذلك لن يعمل على نظام آخر بسبب اختلاف الدوال ايضاً. ما يفعله برنامج wine هو تطبيق الدوال بشيء مطابق له في لينوكس حتى يشغل برامج الويندوز على لينوكس.