Membenamkan Java ke dalam Aplikasi C
Menyepadukan fungsi Java ke dalam aplikasi C sedia ada boleh mengembangkan keupayaannya. Artikel ini meneroka kemungkinan dan memberikan panduan tentang cara untuk mencapai matlamat ini.
JNI dan Integrasi Java
Antaramuka Asli Java (JNI) berfungsi sebagai jambatan antara C dan kod Java. Ia membolehkan akses terus ke kelas Java dan kaedah daripada C . Walau bagaimanapun, JNI memberi tumpuan terutamanya pada program Java yang menggabungkan perpustakaan C.
Interaksi Kelas C -Java
Objektif anda adalah untuk berinteraksi dengan kelas C dari dalam skrip Java yang sedang berjalan . Ini boleh dilakukan dengan membenamkan Mesin Maya Java (JVM) ke dalam aplikasi C anda.
Pembenaman JVM melalui JNI
JNI menyediakan alatan yang diperlukan untuk membenamkan JVM. Berikut ialah contoh ringkas:
<code class="c++">#include <jni.h> int main() { JavaVM *jvm; JNIEnv *env; JDK1_1InitArgs vm_args; vm_args.version = 0x00010001; JNI_GetDefaultJavaVMInitArgs(&vm_args); JNI_CreateJavaVM(&jvm, &env, &vm_args); jclass cls = env->FindClass("Main"); jmethodID mid = env->GetStaticMethodID(cls, "test", "(I)V"); env->CallStaticVoidMethod(cls, mid, 100); jvm->DestroyJavaVM(); return 0; }</code>
Contoh Skrip Java
Setelah JVM dibenamkan, anda boleh melaksanakan skrip Java yang serupa dengan yang berikut:
<code class="java">import c4d.documents.*; class Main { public static void main() { BaseDocument doc = GetActiveDocument(); BaseObject op = doc.GetActiveObject(); if (op != null) { op.Remove(); } } }</code>
Skrip ini boleh berinteraksi dengan aplikasi C anda, dalam kes ini, aplikasi 3D Cinema 4D, untuk mengalih keluar objek yang dipilih.
Ringkasnya, membenamkan JVM melalui JNI membolehkan anda menyepadukan fungsi Java ke dalam kod C anda, membolehkan anda memperluaskan keupayaannya dan berinteraksi dengan kelas C dari dalam skrip Java yang sedang berjalan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengintegrasikan Fungsi Java ke dalam Aplikasi C Sedia Ada Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!