هل من الممكن تنفيذ الملفات الثنائية في جافا؟
سؤال
لدي قائمة بالثنائيات المكتوبة في Java و Ada و C و Python وأريد تنفيذها. كيف أقوم بذلك؟ هل هناك أي ملزمة JVM لتلك اللغات؟
المحلول
إذا كان كل ما تريد القيام به هو تنفيذ التطبيقات الحالية ، فيمكنك استخدام exec
طرق من java.io.runtime
مساحة الاسم.
Runtime rt = Runtime.getRuntime();
Process ps = rt.exec("path to my executable.exe");
نصائح أخرى
نعم. فيما يلي رابط لمقال مدونة جيد حول كيفية القيام بذلك: تشغيل أوامر النظام في جافا.
جوهره هو أنك تحتاج إلى القيام بما يلي:
// run the Unix "ps -ef" command
// using the Runtime exec method:
Process p = Runtime.getRuntime().exec("ps -ef");
يمكنك وضع أي أمر هناك إلى حد كبير ، لكن الوسدة الوحيدة التي واجهتها في أن تكون على دراية بمتغيرات بيئة النظام مثل المسار الذي تقوم بتشغيله في JVM.
إذا كنت تريد التفاعل مع واجهة برمجة التطبيقات الثنائية ، فاستخدم:
- Java Native Access (JNA): لتحميل واتصال DLLs.
- واجهة جافا الأصلية (JNI): لالتفاف مكتبة C في Java.
لا تنتمي إلى StackOverflow