名 前
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 は 省 略 可 能 で す 。
コ マ ン ド 行 で 指 定 し た す べ て の ク ラ ス に 対 す る 結 果 の ヘ ッ ダ フ ァ イ ル ま た は ソ ー ス フ ァ イ ル を 連 結 し 、 outputfile に 格 納 し ま す 。 −o オ プ シ ョ ン ま た は −d オ プ シ ョ ン だ け を 使 用 で き ま す 。
古 い JDK 1.0
形 式 の ヘ ッ ダ
フ ァ イ ル を 生
成 し ま す 。 Java オ ブ ジ ェ ク ト フ ァ イ ル か ら C 言 語 の 宣 言 を 生 成 し ま す 。 −o オ プ シ ョ ン ま た は −d オ プ シ ョ ン だ け を 使 用 で き ま す 。
現 在 、 ト レ ー ス は サ ポ ー ト さ れ て い ま せ ん 。 Virtual Machine の −verbose:jni オ プ シ ョ ン を 使 用 し て く だ さ い 。
詳 細 情
報 の 出 力 を 要
求 し ま す 。 javah
は 、 生 成 さ れ
た フ ァ イ ル の
状 態 に 関 す る
メ ッ セ ー ジ を
stdout に 書 き 出 し
ま す 。 バ ー ジ ョ ン 情 報 を 出 力 し ま す 。
環 境
.:/home/avh/classes:/usr/local/java/classes 関 連 項 目 |