Kako nazvati izvorni (DLL) kôd iz tehnologije Java pomoću JNI

Rezime

Ovaj članak detaljno objašnjava proces pozivanja izvornog C/C++ koda (u DLL-u) iz Java pomoću JNI (Java izvorni interfejs). Ovaj članak pretpostavlja da je to znanje iz komandne linije "Visual C++", CL. Exe.

  • Uverite se da koristite verziju Microsoft SDK-a za Javu koja podržava JNI. JNI podrška je dodata u decembru 1998 u SDK verziju 3,1 i iznad.

  • Uverite se da Promenljiva okruženja, klasa, sadrži referencu na "[WINDIR] \Java\klases\klases.zip" i "C:" (pod pretpostavkom da je C: vaš razvojni pogon).

  • Uverite se da je direktorijum "[SDK-Java] \Bin" uključen u putanju (za JavaH, JVC i JView).

  • Uverite se da je Visual C++ ispravno podešen za upotrebu komandne linije. Za detalje pogledajte dokumentaciju programa Visual C++.

  • Napišite Java kôd:

    public class TestJNI {   public native void greetings();   static {      System.loadLibrary("greet");   }   public static void main(String args[]) {      new TestJNI().greetings();   }}
  • Prevedi Java datoteku:

    jvc TestJNI.java
  • Pokreni JavaH na generisanu datoteku klase:

    javah -jni TestJNI
  • Napišite C/C++ kôd na osnovu generisane datoteke zaglavlja:

    #include "TestJNI.h"#include <stdio.h>JNIEXPORT void JNICALL Java_TestJNI_greetings(JNIEnv *env,jobject jobj) {   printf("Hello from Visual C++!");}
  • Kompajlirate C/C++ kôd:

    cl greet.cpp -Ic:\sdk-java.31\include -Fegreet.dll -MD -LD
  • Testirajte aplikaciju:

    jview TestJNI

VIŠE INFORMACIJA

Stvari koje treba obratiti pažnju:

  • U datoteci "poziv u sistem. utovari ()" izostavite oznaku tipa datoteke ". dll" iz filename imena izvorne biblioteke.

  • Da biste podržali zastareli izvorni kôd, samo neka funkcija DLL-a preusmeri poziv na zastareli kôd.

(c) Microsoft Corporation 1999, sva prava zadržana. Doprinos kompanije Džozef B. Hol, Microsoft Corporation.

Reference

Za informacije o podršci za Visual J++ i SDK za Java posetite sledeću Microsoft Web lokaciju:

Potrebna vam je dodatna pomoć?

Unapredite veštine
Istražite obuku
Prvi nabavite nove funkcije
Pridružite se Microsoft insajdere

Da li su vam ove informacije koristile?

Hvala vam na povratnim informacijama!

Hvala za povratne informacije! Izgleda da će biti od pomoći ako vas povežemo sa našim agentima Office podrške.

×