Jeg har et stykke java kode som jeg gerne vil have embedded i binær kode sammen med et hoved program (i binær kode) som således kan spawne min java kode.
Jeg vil helst hvis det kan lade sig gøre at eksekvere programmet direkte fra hukommelsen - men jeg har meget svært ved at se hvordan hulen man kan gøre dette. Normalt udvikler jeg primært programmer på Linux, men idag er det altså windoze det gælder.
Er der nogen der har nogle hints til hvordan jeg kan angribe problemet? Jeg har kigget lidt på CreateProcess, men jeg kan ikke umiddelbart se hvordan at man skal kunne starte et program INMEM via denne metode - er der nogen der har et godt forslag?
Er Java programmet i binær også? Er der et kald der kan kalde en java environment direkte i dit miljø? Vil du istedet spawne Java programmet externt fra det oprindelige program så det bliver 2 processer eller skal Java programmet køres istedet for?
Ja => du er noedt til at faa programmet paa disk og starte en ny process.
Nej => start en JVM fra dit C program (JNI har metoder til dette) og koer din Java kode i den. Hvis din Java kode er paa disk, saa er det lige ud af landevejen. Det kan maaske lade sig goere at koere det fra memory. Man kan lave en speciel classloader som loader Java byte code fra memory. Man kan ogsaa compile Java source code til Java byte code fra memory til memory. Men du skal have en maade at faa fat paa den specielle classloader - hvis den kan f.eks. hentes fra en web server via HTTP eller paa anden vis hapses, saa skulle du kunne lave det uden at putte noget paa disk.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.