Jni és a jvm-hez való csatlakozás a delphi-ban

  • 03/22/17 12:39 •
  • Mr_Dan •
  • # 324594 •
  • Habrahabr •
  • 2 •
  • 857

- ugyanaz, mint Forbes, csak jobb.

A nap minden kedves ideje! Most nézzünk meg egy példát arra, hogyan tölthetünk le egy letöltött JVM-et és csatlakozhatunk hozzá. Ehhez szükségünk van egy bizonyos kód megcélzására a JVM-en belül.

Hozzon létre egy új DLL projektet. Folyamat csatolása:


Nagyszerűek, hozzátették. Ezután hozzá kell adni egy JNI összetevőt a Használathoz:

Most hajtsa végre a keresést és csatlakozzon a JVM-hez. Ehhez vegye fel a DllMain változókat:


Továbbá a DLL_PROCESS_ATTACH-ban megvalósítjuk a betöltött JVM keresését és összekapcsolását

Tehát találtunk és kapcsolódtunk a betöltött JVM-hez. Most a JVM-ben lévő bármely kódot használhatja a AttachCurrentThread sor után. És végül megkapjuk a DLL-t:


Mutassuk meg, hogyan kell használni. Tegyük fel, hogy van olyan funkciója, amelyet használni szeretne a Java-ban.


Ez egyszerű utalás a JNI módszerre, és elégséges használatára, hogy ezt az eljárást az AttachCurrentThread után helyezze el.


Ennek eredményeképpen kapcsolatba kerülünk a JVM-vel, és végrehajtunk egy bizonyos eljárást.

Segíthet és pénzt küldhet a fejlesztéshez

Kapcsolódó cikkek