javah(1)                                                 javah(1)



NAME
       javah - C header and stub file generator

SYNOPSIS
       javah [ options ] fully-qualified-classname ...

DESCRIPTION
       The javah command generates C header and source files that
       are needed to  implement  native  methods.  The  generated
       header  and  source files are used by C programs to refer-
       ence instance variables of an object  from  native  source
       code.  The  .h  file contains a structure definition whose
       layout parallels that  of  the  corresponding  class.  The
       fields  in  the structure correspond to instance variables
       in the class.

       The name of the header file  and  the  structure  declared
       within  it  are derived from the name of the class. If the
       class passed to javah is inside  a  package,  the  package
       name  is  prepended  to  both the header file name and the
       structure name. Underscores ( _ ) are used as name  delim-
       iters.

       By  default,  javah  creates  a header file for each class
       listed on the command line and puts the files in the  cur-
       rent  directory.  Use  the  -stubs option to create source
       files. Use the -o option to concatenate  the  results  for
       all listed classes into a single file.

       The new native method interface, Java(tm) Native Interface
       (JNI), does not require header information or stub  files.
       The  javah  command  can  still be used to generate native
       method function prototypes  needed  for  JNI-style  native
       methods.   javah produces JNI-style output by default, and
       places the result in the .h file.

OPTIONS
       The following options are supported:

       -bootclasspath path
                      Specifies path from which to load bootstrap
                      classes.  By default, the bootstrap classes
                      are the classes implementing the core  Java
                      platform located in ${JAVA_HOME}/../Classes
                      .

       -classpath path
                      Specifies the path javah uses  to  look  up
                      classes.   Overrides  the  default  of  the
                      CLASSPATH environment  variable  if  it  is
                      set.  Directories  are separated by colons.
                      Thus the general format for path is:

                           .:<your_path>

                      For example:

                           .:/Users/vlh/classes:/Users/Shared/classes


       -d directory   Sets  the  directory  where javah saves the
                      header files or the stub files.

       -force         Specifies that output files  should  always
                      be written.

       -help          Prints help message for javah usage.






























































       -jni           Causes  javah to create an output file con-
                      taining JNI-style  native  method  function
                      prototypes.  This is the default output, so
                      use of -jni is optional.

       -o outputfile  Concatenates the resulting header or source
                      files  for  all  the  classes listed on the
                      command line into outputfile.  Only the  -o
                      or -d option may be used.

       -old           Specifies the old JDK1.0-style header files
                      should be generated.

       -stubs         Causes javah  to  generate  C  declarations
                      from  the Java object file.  Only the -o or
                      -d option may be used.

       -trace         Tracing is no longer  supported.   Instead,
                      use  the -verbose:jni option of the virtual
                      machine.

       -verbose       Indicates verbose output and  causes  javah
                      to print a message to stdout concerning the
                      status of the generated files.

       -version       Prints build version.

       -J  option     Pass option to the  Java  virtual  machine,
                      where   option   is   one  of  the  options
                      described on the  man  page  for  the  java
                      application launcher, java(1). For example,
                      -J-Xms48m sets the  startup  memory  to  48
                      megabytes. It is a common convention for -J
                      to pass options to the  underlying  virtual
                      machine.

ENVIRONMENT VARIABLES
       CLASSPATH      Used  to  provide the system with a path to
                      user-defined classes.  Directories are sep-
                      arated by colons, for example,

                           .:/Users/vlh/classes:/Users/Shared/classes

SEE ALSO
       java(1), javac(1), javadoc(1), javap(1), jdb(1)



                           14 July 2000                  javah(1)