Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Compile the C++ code creating a shared library (or shared object in UNIX)
- $ clang++ TestJNI.cpp -o libTestJNI.so -fPIC -shared -std=c++11 -I$HOME/opt/java/include -I$HOME/opt/java/include/linux
- Run the application
- $ scala -save load.scala
- dir = /home/archbox/opengl/jni/libTestJNI.so
- Hello world java
- i = 0
- i = 1
- i = 2
- i = 3
- i = 4
- Library version = version 3.4
- vector3DLen(3, 4, 5) = 7.0710678118654755
- Average of 1, 2 ... 8 = 4.5
- $ scala -save load.jar
- dir = /home/archbox/opengl/jni/libTestJNI.so
- Hello world java
- i = 0
- i = 1
- i = 2
- i = 3
- i = 4
- Library version = version 3.4
- vector3DLen(3, 4, 5) = 7.071
- Check compilation output
- $ file libTestJNI.so
- libTestJNI.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=6a21fdf13b652757f1773db2069095eaa050b759, not stripped
- Check symbols
- $ nm -D libTestJNI.so | grep " T "
- 0000000000000f08 T _fini
- 0000000000000a28 T _init
- 0000000000000d40 T Java_TestJNI_average
- 0000000000000cc0 T Java_TestJNI_getVersion
- 0000000000000c20 T Java_TestJNI_printDisplay
- 0000000000000cf0 T Java_TestJNI_vector3DLen
- 0000000000000e00 T main
Add Comment
Please, Sign In to add comment