步驟 5:建立共用庫檔案
接下來,我們建立包含機器碼的共用庫檔案。
大多數 C 和 C++ 編譯器除了可以建立機器代碼可執行檔以外,也可以建立共用庫檔案。
用來建立共用庫檔案的命令取決於您使用的編譯器。
下面是在 Windows執行的命令。
Windows:
使用visual studio commandprompt工具cl.exe
cl -I"C:\Program Files\Java\jdk1.6.0_10\include" -I"C:\Program Files\Java\jdk1.6.0_10\include\win32" -LD test_JNI_javaCallc_test.c -Fe test_JNI_javaCallc_test.dll
也可以使用vc6.0直接建立動態庫
編譯的時候需要jni相關的標頭檔和庫檔案,在vc6.0的的搜尋路徑加入與java有關的兩個路徑即可即可
Tools->sptions->Directories
Linux:使用gcc工具
gcc -c -fPIC -I/usr/java/jdk1.6.0_22/include/ -I/usr/java/jdk1.6.0_22/include/linux/ Sample1.c
gcc -shared -fPIC -o libSample1.so Sample1.o
步驟 6:運行 Java 程式
最後一步是運行 Java 程式,並確保代碼正確工作。
因為必須在 JAVA 虛擬機器中執行所有 Java 代碼,所以需要使用 Java 運行時環境。
完成這一步的方法之一是使用 java,它是隨 SDK 一起提供的 Java 解譯器。
所使用的命令是:
java -cp . test.test_JNI_javaCallc_test
或者直接在eclipose中運行即可
輸出:
intMethod: 25
booleanMethod: false
stringMethod: JAVA
intArrayMethod: 33