| 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.

| Step By Step