Previous | Next | Trail Map | Using the JNI to Integrate Native Code and Java Programs | Step By Step


Step 5: Create a Shared Library

Remember in Step 1: Write the Java Code you used the following method call to load a shared library named hello into your program at runtime:
System.loadLibrary("hello");
Now you are ready to create the shared library.

In the previous step, Step 4: Write the Native Method Implementation, you created a C file: you wrote the implementation for the displayHelloWorld native method and saved it in HelloWorldImp.c. You compile this file into a library, which you name hello to match the library name used in the System.loadLibrary method.

Use whatever tools you have to compile the native language code that you created in the previous two steps into a shared library. On Solaris, you'll create a shared library, while on Windows 95/Nt you'll create a dynamic link library (DLL). Remember to specify the path or paths to all necessary header files.

On Solaris, the following command builds a shared library libhello.so:

cc -G -I/usr/local/java/include -I/usr/local/java/include/solaris \
      HelloWorldImp.c -o libhello.so

On Win32, the following command builds a dynamic link library hello.dll using Microsoft Visual C++ 4.0:

cl -Ic:\java\include -Ic:\java\include\win32 -LD HelloWorldImp.c -Fehello.dll
Of course, you need to put in the correct include path that corresponds to the setup on your own machine.


Previous | Next | Trail Map | Using the JNI to Integrate Native Code and Java Programs | Step By Step