[Java lista] JNI

Aron Gombas aron at demoscene.hu
2007. Már. 9., P, 16:29:13 CET


 Nono, a .h-t nem kell leforditani, az egy header file, ami a modulok
kozti interface-t definialja (jo esetbe). Szoval a .cpp-bol kell .obj-ra
forditani, amjd abbol executable-t linkelni
 Regards,

 Aron

 java_blog.hu: http://www.midori.hu/en/blog_hu.html

On Thu, 8 Mar 2007, [iso-8859-2] Szendi Varga János wrote:

> A .cpp-t és a .h -t is le kell fordítanod, mert ez csak a forráskód.
>
> Olyan mintha java-ban .java fájlra hivatkoznál, és nem a .class -ra.
>
>
>
>   _____
>
> From: javalist-bounces at javagrund.hu [mailto:javalist-bounces at javagrund.hu]
> On Behalf Of Maglódszki Viktor
> Sent: 2007. március 8. 17:20
> To: java list
> Subject: [Java lista] JNI
>
>
>
> Sziasztok !
>
>
>
> Egyszer már emlitettem, de azóta történt némi előrelépés.
>
>
>
> Szeretném lekérdezni az IdleTime-ot windows-ban.
>
>
>
> Némi utánaolvasás után találtam néhány C / C++ kódot, ami a GetLastInputInfo
> windows függvényt hivja meg.
>
> De C++ hoz egyáltalán nem értek.
>
>
>
> Aztán megtaláltam a LimeWire teljes forrását, ami szintén leéri ezt az
> értéket.
>
> A forrásban megtaláltam a cpp kódot, header-t, és a java osztályt ami
> összeköti ezt JNI-vel.
>
>
>
> Jelenleg ott akadtam el, hogy van egy betöltés a Java osztályban (a limewire
> api-ben a SystemUtils.java fájl)
>
> System.loadLibrary("SystemUtilities");
>
>
>
> ilyet még nem használtam és nekem a javadoc-ból sem derült ki, hogy ez hol
> fogja keresni?
>
> ott ahol fut a program ezt mintha láttam volna valahol.
>
> van nekem SystemUtilities.cpp -m (szintén a limewire api-ból) de azt hiába
> másolom be a könyvtáraba nem találja
>
> végülis a teljes kódrész:
>
> static {
>
> boolean canLoad;
>
> try {
>
> // Only load the library on systems where we've made it.
>
> if(OSUtils.isMacOSX() || OSUtils.isWindows()) {
>
> System.loadLibrary("SystemUtilities");
>
> }
>
> canLoad = true;
>
> } catch(UnsatisfiedLinkError noGo) {
>
> canLoad = false;
>
> }
>
> isLoaded = canLoad;
>
> }
>
> igy ez false-t ad vissza és nem tudom lekérdezni az idletime-ot mivel a
> lekérdező függvény elötte megnézni, hogy a isLoaded true-e
>
>
>
> tehát akkor hová kellene tennem, hogy a loadLibrary megtalálja?
>
> ha .cpp vagy .h -t keresi, akkor miért nem úgy kiterjesztéssel hivatkozik
> rá?
>
>
>
> köszönöm
>
> MV
>
>
>
> _____________ NOD32 2102 (20070308) Információ _____________
>
> Az üzenetet a NOD32 antivirus system megvizsgálta.
> http://www.nod32.hu
>
>


További információk a(z) Javalist levelezőlistáról