1. اكتب ملف Java ، وأعلن الطريقة الأصلية ، وقم بتحميل مكتبة الارتباط الديناميكي من خلال كتلة العبارة الثابتة. رمز example report.java كما يلي:
مطالبة الفئة {private native string getLine (string prodge) ؛ public static void main (string args []) {prompt p = new promper () ؛ إدخال السلسلة = p.getline ("اكتب السطر:") ؛ system.out.println ("المستخدم typed:" + input) ؛ } static {system.loadlibrary ("proper") ؛ }} 2. اتصل بأمر javac لإنشاء ملف proft.class ؛
Javac Promp.java
3. اتصل بأمر Javah لإنشاء ملف Header.
جافا -جني موجه
ملف الرأس الذي تم إنشاؤه تلقائيًا كما يلي:
/ * لا تقم بتحرير هذا الملف - يتم إنشاؤه الجهاز */#include <jni.h>/ * header لمطالبة الفئة */#ifndef _included_prompt#define _included_prompt#ifdef __cplusplusexter "c" {#endif/ * * * * * class: (ljava/lang/string ؛) ljava/lang/string ؛ */jniexport jstring jnicall java_prompt_getline (jnienv *، Jobject ، jstring) ؛#ifdef __cplusplus}#endif# 4. اكتب ملف promper.c لتنفيذ وظائف محددة:
#include <jni.h> #include <stdio.h> #include "prompray.h" jniexport void jnicalljava_prompt_getline (jnienv *env ، jobj obj ، jstring product) {char buf [128] ؛ const jbyte *str ؛ str = (*env)-> getStringUtfchars (env ، product ، null) ؛ if (str == null) {return null ؛ } printf ("٪ s" ، str) ؛ (*env)-> releasestringutfchars (env ، form ، str) ؛ Scanf ("٪ s" ، buf) ؛ العودة (*env)-> newstringutf (env ، buf) ؛} 5. تجميع المكتبة الديناميكية libprompt.so ؛
gcc -shared -fpic -i/usr/lib/jvm/java-6-sun-1.6.0.26/include -i/usr/lib/jvm/java-6-sun-1.6.0.26/includ
6. الجري.
موجه جافا
شكرا لك على القراءة ، آمل أن تساعدك. شكرا لك على دعمك لهذا الموقع!