javah

Section: 基本ツール (1)
Updated: 2013年11月21日
Page Index
 

名前

javah - JavaクラスからCヘッダーとソース・ファイルを生成します。  

概要

javah [ options ] fully-qualified-class-name ...

options

コマンド行オプション。オプションを参照してください。

fully-qualified-class-name

Cヘッダーとソース・ファイルに変換されるクラスの完全修飾された場所。
 

説明

javahコマンドは、ネイティブ・メソッドを実装するために必要なCヘッダーとソース・ファイルを生成します。作成されたヘッダーとソース・ファイルは、ネイティブ・ソース・コードからオブジェクトのインスタンス変数を参照するためにCプログラムによって使用されます。.hファイルは、対応するクラスと一致する配置を持つstruct定義を含みます。structのフィールドは、クラスのインスタンス変数に対応します。

ヘッダー・ファイルとその中で宣言される構造体の名前はクラスの名前から派生します。javahコマンドに渡されるクラスがパッケージの中にある場合、パッケージ名はヘッダー・ファイル名と構造体名の両方の先頭に付加されます。アンダースコア(_)が名前の区切り文字として使用されます。

デフォルトではjavahコマンドは、コマンド行にリストされる各クラスのヘッダー・ファイルを作成し、現在のディレクトリにファイルを置きます。ソース・ファイルを作成するには、-stubsオプションを使用してください。1つのファイルの中に、リストされたすべてのクラスの結果を連結するには、-oオプションを使用してください。

Java Native Interface (JNI)はヘッダー情報またはスタブ・ファイルを必要としません。javahコマンドは引き続きJNI形式のネイティブ・メソッドに必要なネイティブ・メソッド関数プロトタイプの生成に使用できます。javahコマンドはデフォルトでJNI形式の出力を生成し、その結果を.hファイルに格納します。  

オプション

-o outputfile

コマンド行にリストされたすべてのクラスに対して、結果のヘッダーまたはソース・ファイルを連結して出力ファイルに格納します。-oまたは-dのどちらかのみ使用できます。

-d directory

javahがヘッダー・ファイルまたはスタブ・ファイルを保存する、ディレクトリを設定します。-dまたは-oのどちらかのみ使用できます。

-stubs

javahコマンドが、Javaオブジェクト・ファイルからC宣言を生成します。

-verbose

詳細出力を指定し、作成ファイルの状態に関するメッセージを、javahコマンドが標準出力に出力します。

-help

javahの使用方法についてのヘルプ・メッセージを出力します。

-version

javahコマンドのリリース情報を出力します。

-jni

JNI形式のネイティブ・メソッド機能プロトタイプを含む出力ファイルを、javahコマンドが作成します。これは標準出力であるため、-jniの使用はオプションです。

-classpath path

クラスを探すためにjavahコマンドが使用するパスを指定します。デフォルトまたはCLASSPATH環境変数の設定をオーバーライドします。ディレクトリはOracle Solarisの場合はコロンで、Windowsの場合はセミコロンで区切られます。パスの一般的な形式は次のようになります。

Oracle Solarisの場合:

.:your-path

例: .:/home/avh/classes:/usr/local/java/classes

Windowsの場合:

.;your-path

例: .;C:\users\dac\classes;C:\tools\java\classes

便宜上、*のベース名を含むクラス・パス要素は、.jarまたは.JARを拡張子に持つディレクトリ内のすべてのファイルのリストを指定するのと同等とみなされます。

たとえば、ディレクトリmydira.jarb.JARが含まれている場合、クラス・パス要素mydir/*A.jar:b.JARに展開されますが、JARファイルの順番は未指定となります。このリストには、隠しファイルも含め、指定されたディレクトリ内のすべてのJARファイルが含まれます。*からなるクラス・パス・エントリは、現在のディレクトリ内のすべてのJARファイルのリストに展開されます。CLASSPATH環境変数も、定義時には同様に展開されます。クラス・パスのワイルドカードの展開は、Java Virtual Machine (JVM)の開始前に行われます。Javaプログラムは、環境を問い合せる場合を除き、展開されていないワイルドカードを参照しません。たとえば、System.getenv("CLASSPATH")をコールして問い合せる場合です。

-bootclasspath path

ブートストラップ・クラスをロードするパスを指定します。ブートストラップ・クラスは、デフォルトではjre\lib\rt.jarおよび他のいくつかのJARファイルにある、コアJavaプラットフォームを実装するクラスです。

-old

古いJDK 1.0形式のヘッダー・ファイルを生成するように指定します。

-force

出力ファイルが常に書き込まれるように指定します。

-Joption

Java Virtual Machineにoptionを渡します。optionには、Javaアプリケーション起動ツールのリファレンス・ページに記載されているオプションを1つ指定します。たとえば、-J-Xms48mと指定すると、スタートアップ・メモリーは48MBに設定されます。java(1)を参照してください。
 

関連項目

javah(1)

java(1)

jdb(1)

javap(1)

javadoc(1)


 

Index

名前
概要
説明
オプション
関連項目