NAME
javah - C header and stub file generator
SYNOPSIS
jjaavvaahh [ options ] fully-qualified-classname ...
jjaavvaahhgg [ options ] fully-qualified-classname ...
DESCRIPTION
The jjaavvaahh 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 reference instance variables of an object from native source code. The ..hh 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 jjaavvaahh is inside a package, the package name is prepended to both the header filename and the structure name. Underscores ( ) are used as name delim-
iters. By default, jjaavvaahh creates a header file for each class listed on the command line and puts the files in the current directory. Use the-ssttuubbss option to create source files. Use the -oo option to concatenate
the results for all listed classes into a single file. The new native method interface, Java Native Interface (JNI), does not require header information or stub files. The jjaavvaahh command can stillbe used to generate native method function prototypes needed for JNI-
style native methods. jjaavvaahh produces JNI-style output by default, and
places the result in the ..hh file.The jjaavvaahhgg version is a non-optimized version of jjaavvaahh suitable for
use with debuggers like jjddbb. OOPPTTIIOONNSS The following options are supported:-oo outputfile Concatenates the resulting header or source files for
all the classes listed on the command line into oouuttppuutt-
ffiillee. Only the -oo or -dd option may be used.
-bboooottccllaassssppaatthh path
Specifies path from which to load bootstrap classes. Bydefault, the bootstrap classes are the classes imple-
menting the core Java 2 platform located in jjrree//lliibb//rrtt..jjaarr and several other jar files.-ccllaassssppaatthh path
Specifies the path jjaavvaahh uses to look up classes. Over-
rides the default of the CCLLAASSSSPPAATTHH environment variable if it is set. Directories are separated by colons. Thus the general format for path is: ..::<> For example: ..:://hhoommee//aavvhh//ccllaasssseess:://uussrr//llooccaall//jjaavvaa//ccllaasssseess -dd directory Sets the directory where jjaavvaahh saves the header files or
the stub files.-ffoorrccee Specifies that output files should always be written.
-hheellpp Prints help message for jjaavvaahh usage.
-jjnnii Causes jjaavvaahh to create an output file containing JNI-
style native method function prototypes. This is thedefault output, so use of -jjnnii is optional.
-oolldd Specifies the old JDK1.0-style header files should be
generated.-ssttuubbss Causes jjaavvaahh to generate C declarations from the Java
object file.-ttrraaccee Tracing is no longer supported. Instead, use the -vveerr-
bboossee::jjnnii option of the virtual machine.-vveerrbboossee Indicates verbose output and causes jjaavvaahh to print a
message to ssttddoouutt concerning the status of the generated files.-vveerrssiioonn Print out javah version information.
-JJoption Pass option to the Java virtual machine, where option is
one of the options described on the man page for thejava application launcher, java(1). For example, -JJ-
XXmmss4488mm sets the startup memory to 48 megabytes. It is acommon convention for -JJ to pass options to the underly-
ing virtual machine. ENVIRONMENT VARIABLESCCLLAASSSSPPAATTHH Used to provide the system with a path to user-defined
classes. Directories are separated by colons, for exam-
ple, ..:://hhoommee//aavvhh//ccllaasssseess:://uussrr//llooccaall//jjaavvaa//ccllaasssseessSEE ALSO
jjaavvaa(1), jjaavvaacc(1), jjaavvaaddoocc(1), jjaavvaapp(1), jjddbb(1)13 June 2000 javah(1)