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)