Compiling and Running a Java Program with a Native Method |
Remember in Step 1: Write the Java Code you used the following method call to load a shared library namedhello
into your program at runtime:Now you are ready to create this shared library.System.loadLibrary("hello");In the previous step, Step 4: Write the Native Method Implementation, you created a C file in which you wrote the implementation for the
displayHelloWorld
native method. You saved the native method in the fileHelloWorldImp.c
. Now, you must compileHelloWorldImp.c
into a shared library, which you namehello
to match the library name used in theSystem.loadLibrary
method.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. See Creating and Loading Shared Libraries for information on forming a shared library name.
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.soOn Win32, the following command builds a dynamic link library
hello.dll
using Microsoft Visual C++ 4.0:Of course, you need to specify thecl -Ic:\java\include -Ic:\java\include\win32 -LD HelloWorldImp.c -Fehello.dllinclude
path that corresponds to the setup on your own machine.For more information on the system-dependent mechanisms for loading a shared library, see Creating and Loading Shared Libraries.
Compiling and Running a Java Program with a Native Method |