名 前
javah − C 言 語 の ヘ ッ ダ と ス タ ブ フ ァ イ ル の ジ ェ ネ レ ー タ
形 式
javah [
options ] fully-qualified-classname . . .
javah_g [ options ] fully-qualified-classname
. . .
機 能 説 明
javah コ マ ン ド は 、 ネ イ テ ィ ブ メ ソ ッ ド を 実 装 す る の に 必 要 な C 言 語 の ヘ ッ ダ お よ び ソ ー ス フ ァ イ ル を 生 成 し ま す 。 C の プ ロ グ ラ ム は 、 生 成 さ れ た ヘ ッ ダ と ソ ー ス フ ァ イ ル を 使 っ て 、 ネ イ テ ィ ブ ソ ー ス コ ー ド か ら オ ブ ジ ェ ク ト の イ ン ス タ ン ス 変 数 を 参 照 で き ま す 。 .h フ ァ イ ル は 、 対 応 す る ク ラ ス に 合 っ た レ イ ア ウ ト の 構 造 体 定 義 を 含 ん で い ま す 。 構 造 体 に 含 ま れ る フ ィ ー ル ド は 、 ク ラ ス 内 の イ ン ス タ ン ス 変 数 に 対 応 し て い ま す 。
ヘ ッ ダ フ ァ イ ル 名 お よ び ヘ ッ ダ フ ァ イ ル 中 で 定 義 さ れ る 構 造 体 名 は 、 ク ラ ス 名 か ら 派 生 し ま す 。 javah に 渡 さ れ る ク ラ ス が パ ッ ケ ー ジ 内 部 に あ れ ば 、 そ の パ ッ ケ ー ジ 名 が フ ァ イ ル 名 お よ び 構 造 体 名 の 先 頭 に 付 加 さ れ ま す 。 名 前 の 間 は 下 線 (_) で 区 切 ら れ ま す 。
デ フ ォ ル ト で は 、 javah は コ マ ン ド 行 で 指 定 さ れ た 個 々 の ク ラ ス に 対 し て ヘ ッ ダ フ ァ イ ル を 作 成 し 、 現 在 の デ ィ レ ク ト リ に 出 力 し ま す 。 −stubs オ プ シ ョ ン を 指 定 す る と ソ ー ス フ ァ イ ル が 生 成 さ れ ま す 。 −o オ プ シ ョ ン を 指 定 す る と 、 指 定 し た 全 ク ラ ス に 対 す る 出 力 フ ァ イ ル を 連 結 し て 1 個 の フ ァ イ ル と し て 生 成 し ま す 。
新 し い ネ イ テ ィ ブ メ ソ ッ ド イ ン タ フ ェ ー ス の Java Native Interface (JNI) は 、 ヘ ッ ダ 情 報 や ス タ ブ フ ァ イ ル を 必 要 と し ま せ ん 。 た だ し javah コ マ ン ド は 現 在 も JNI 形 式 の ネ イ テ ィ ブ メ ソ ッ ド に 必 要 な ネ イ テ ィ ブ メ ソ ッ ド 関 数 プ ロ ト タ イ プ を 生 成 で き ま す 。 javah は デ フ ォ ル ト で JNI 形 式 で 出 力 し 、 そ の 結 果 を .h フ ァ イ ル に 格 納 し ま す 。
javah_g は 非 最 適 化 バ ー ジ ョ ン の javah で 、 jdb な ど の デ バ ッ ガ 用 の 使 用 に 適 し て い ま す 。
オ プ シ ョ ン
以
下 の オ プ シ ョ
ン が 使 用 で き
ま す 。
−bootclasspath path
bootstrap ク ラ ス を ロ ー ド す る パ ス を 指 定 し ま す 。 デ フ ォ ル ト で は 、 bootstrap ク ラ ス は コ ア と な る Java プ ラ ッ ト フ ォ ー ム を 実 装 す る ク ラ ス で 、 jre/lib/rt.jar と jre/lib/charsets.jar に あ り ま す 。
−classpath path
javah が ク ラ ス を 検 索 す る た め に 用 い る パ ス を path で 指 定 し ま す 。 こ の 指 定 値 は 、 デ フ ォ ル ト お よ び CLASSPATH 環 境 変 数 の 設 定 値 を オ ー バ ー ラ イ ド し ま す 。 複 数 の デ ィ レ ク ト リ を 指 定 す る 場 合 は コ ロ ン で 区 切 り ま す 。 し た が っ て path の 通 常 の 形 式 は 次 の よ う に な り ま す 。
.:<your_path>
パ ス の 指 定 例 :
.:/home/avh/classes:/usr/local/java/classes
−d directory |
javah が ヘ ッ ダ フ ァ イ ル ま た は ス タ ブ フ ァ イ ル を 書 き 出 す デ ィ レ ク ト リ を 指 定 し ま す 。 | ||
−force |
常 に 出 力 フ ァ イ ル に 書 き 込 む こ と を 指 定 し ま す 。 | ||
−help |
javah の 使 用 法 に つ い て ヘ ル プ メ ッ セ ー ジ を 出 力 し ま す 。 | ||
−jni |
JNI 形 式 の ネ イ テ ィ ブ な メ ソ ッ ド 関 数 の プ ロ ト タ イ プ が 入 っ た 出 力 フ ァ イ ル を 作 成 し ま す 。 こ れ は デ フ ォ ル ト の 出 力 で あ る た め 、 -B −jni は 省 略 可 能 で す 。 | ||
−o outputfile |
コ マ ン ド 行 で 指 定 し た す べ て の ク ラ ス に 対 す る 結 果 の ヘ ッ ダ フ ァ イ ル ま た は ソ ー ス フ ァ イ ル を 連 結 し 、 outputfile に 格 納 し ま す 。 −o オ プ シ ョ ン ま た は −d オ プ シ ョ ン だ け を 使 用 で き ま す 。 | ||
−old |
古 い JDK 1.0 形 式 の ヘ ッ ダ フ ァ イ ル を 生 成 し ま す 。 | ||
−stubs |
Java オ ブ ジ ェ ク ト フ ァ イ ル か ら C 言 語 の 宣 言 を 生 成 し ま す 。 −o オ プ シ ョ ン ま た は −d オ プ シ ョ ン だ け を 使 用 で き ま す 。 | ||
−trace |
現 在 、 ト レ ー ス は サ ポ ー ト さ れ て い ま せ ん 。 Virtual Machine の −verbose:jni オ プ シ ョ ン を 使 用 し て く だ さ い 。 | ||
−verbose |
詳 細 情 報 の 出 力 を 要 求 し ま す 。 javah は 、 生 成 さ れ た フ ァ イ ル の 状 態 に 関 す る メ ッ セ ー ジ を stdout に 書 き 出 し ま す 。 | ||
−version |
バ ー ジ ョ ン 情 報 を 出 力 し ま す 。 | ||
−J option |
option を Java 仮 想 マ シ ン に 渡 し ま す 。 こ こ で 、 option は 、 Java ア プ リ ケ ー シ ョ ン 起 動 プ ロ グ ラ ム java(1) の マ ニ ュ ア ル ペ ー ジ で 説 明 さ れ て い る オ プ シ ョ ン の 1 つ で す 。 た と え ば 、 −J-Xms48m は 、 起 動 時 に 使 用 す る メ モ リ を 48M バ イ ト に 設 定 し ま す 。 −J が 基 本 に す る 仮 想 マ シ ン に オ プ シ ョ ン を 渡 す こ と は 、 共 通 の 規 約 で す 。 |
環 境
CLASSPATH |
ユ ー ザ 定 義 ク ラ ス へ の パ ス を シ ス テ ム に 通 知 す る た め に 使 用 し ま す 。 複 数 の デ ィ レ ク ト リ を 指 定 す る 場 合 は コ ロ ン で 区 切 り ま す 。 以 下 に 例 を 示 し ま す 。 |
.:/home/avh/classes:/usr/local/java/classes