2
|
1 |
'\" t
|
|
2 |
.\"
|
|
3 |
.\" Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
|
|
4 |
.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
5 |
.\"
|
|
6 |
.\" This code is free software; you can redistribute it and/or modify it
|
|
7 |
.\" under the terms of the GNU General Public License version 2 only, as
|
|
8 |
.\" published by the Free Software Foundation.
|
|
9 |
.\"
|
|
10 |
.\" This code is distributed in the hope that it will be useful, but WITHOUT
|
|
11 |
.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
12 |
.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
13 |
.\" version 2 for more details (a copy is included in the LICENSE file that
|
|
14 |
.\" accompanied this code).
|
|
15 |
.\"
|
|
16 |
.\" You should have received a copy of the GNU General Public License version
|
|
17 |
.\" 2 along with this work; if not, write to the Free Software Foundation,
|
|
18 |
.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
19 |
.\"
|
|
20 |
.\" Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
|
21 |
.\" CA 95054 USA or visit www.sun.com if you need additional information or
|
|
22 |
.\" have any questions.
|
|
23 |
.\"
|
|
24 |
.\"
|
|
25 |
'\"macro stdmacro
|
|
26 |
.TH javah 1 "2006 年 9 月 4 日" "Java SE 6" "ユーザーコマンド"
|
|
27 |
.SH "名前"
|
|
28 |
javah \- C 言語のヘッダとスタブファイルのジェネレータ
|
|
29 |
.\"
|
|
30 |
.\" This document was created by saving an HTML file as text
|
|
31 |
.\" from the JavaSoft web site:
|
|
32 |
.\"
|
|
33 |
.\" http://java.sun.com/products/jdk/1.2/docs/tooldocs/tools.html
|
|
34 |
.\"
|
|
35 |
.\" and adding appropriate troff macros. Because the JavaSoft web site
|
|
36 |
.\" man pages can change without notice, it may be helpful to diff
|
|
37 |
.\" files to identify changes other than new functionality.
|
|
38 |
.\"
|
|
39 |
.LP
|
|
40 |
|
|
41 |
.LP
|
|
42 |
.LP
|
|
43 |
\f3javah\fP は、Java クラスから C ヘッダファイルと C ソースファイルを作成します。これらのファイルは、Java プログラミング言語で書かれたコードと、C などのその他の言語で書かれたコードを接続し、コードが相互に作用するようにします。
|
|
44 |
.LP
|
|
45 |
.SH "形式"
|
|
46 |
.B javah
|
|
47 |
[
|
|
48 |
.B options
|
|
49 |
]
|
|
50 |
.I fully-qualified-classname . . .
|
|
51 |
.br
|
|
52 |
.B javah_g
|
|
53 |
[
|
|
54 |
.B options
|
|
55 |
]
|
|
56 |
.I fully-qualified-classname . . .
|
|
57 |
.SH "機能説明"
|
|
58 |
.IX "stub file generator" "" "stub file generator \(em \fLjavah\fP"
|
|
59 |
.IX "C header and stub file generator" "" "C header and stub file generator \(em \fLjavah\fP"
|
|
60 |
.IX "javah" "" "\fLjavah\fP \(em C header and stub file generator"
|
|
61 |
.B javah
|
|
62 |
コマンドは、ネイティブメソッドを実装するのに必要な
|
|
63 |
C
|
|
64 |
言語のヘッダおよびソースファイルを生成します。
|
|
65 |
C
|
|
66 |
のプログラムは、
|
|
67 |
生成されたヘッダとソースファイルを使って、
|
|
68 |
ネイティブソースコードからオブジェクトのインスタンス
|
|
69 |
変数を参照できます。
|
|
70 |
.B .h
|
|
71 |
ファイルは、対応するクラスに合ったレイアウトの
|
|
72 |
構造体定義を含んでいます。
|
|
73 |
構造体に含まれるフィールドは、クラス内のインスタンス変数に
|
|
74 |
対応しています。
|
|
75 |
.LP
|
|
76 |
ヘッダファイル名およびヘッダファイル中で定義される構造体名は、
|
|
77 |
クラス名から派生します。
|
|
78 |
.B javah
|
|
79 |
に渡されるクラスがパッケージ内部にあれば、
|
|
80 |
そのパッケージ名がファイル名および構造体名の先頭に付加されます。
|
|
81 |
名前の間は下線
|
|
82 |
(_)
|
|
83 |
で区切られます。
|
|
84 |
.LP
|
|
85 |
デフォルトでは、
|
|
86 |
.B javah
|
|
87 |
はコマンド行で指定された個々のクラスに対して
|
|
88 |
ヘッダファイルを作成し、現在のディレクトリに出力します。
|
|
89 |
.B \-stubs
|
|
90 |
オプションを指定するとソースファイルが生成されます。
|
|
91 |
.B \-o
|
|
92 |
オプションを指定すると、指定した全クラスに対する出力ファイル
|
|
93 |
を連結して
|
|
94 |
1
|
|
95 |
個のファイルとして生成します。
|
|
96 |
.LP
|
|
97 |
新しいネイティブメソッドインタフェースの
|
|
98 |
Java Native Interface (JNI)
|
|
99 |
は、ヘッダ情報やスタブファイルを必要としません。
|
|
100 |
ただし
|
|
101 |
.B javah
|
|
102 |
コマンドは現在も JNI 形式のネイティブメソッドに必要な
|
|
103 |
ネイティブメソッド関数プロトタイプを生成できます。
|
|
104 |
.B javah
|
|
105 |
はデフォルトで JNI 形式で出力し、その結果を
|
|
106 |
.B .h
|
|
107 |
ファイルに格納します。
|
|
108 |
.LP
|
|
109 |
.B javah_g
|
|
110 |
は非最適化バージョンの
|
|
111 |
.B javah
|
|
112 |
で、
|
|
113 |
.B jdb
|
|
114 |
などのデバッガ用の使用に適しています。
|
|
115 |
.SH "オプション"
|
|
116 |
.TP 15
|
|
117 |
.BI \-o " outputfile"
|
|
118 |
コマンド行で指定したすべてのクラスに対する結果のヘッダファイルまたは
|
|
119 |
ソースファイルを連結し、
|
|
120 |
.BR outputfile
|
|
121 |
に格納します。
|
|
122 |
.B \-o
|
|
123 |
オプションまたは
|
|
124 |
.B \-d
|
|
125 |
オプションだけを使用できます。
|
|
126 |
.TP 15
|
|
127 |
.BI \-d " directory"
|
|
128 |
.B javah
|
|
129 |
がヘッダファイルまたはスタブファイルを書き出す
|
|
130 |
ディレクトリを指定します。
|
|
131 |
.TP 15
|
|
132 |
.B \-stubs
|
|
133 |
Java オブジェクトファイルから C 言語の宣言を生成します。
|
|
134 |
.TP 15
|
|
135 |
.B \-verbose
|
|
136 |
詳細情報の出力を要求します。
|
|
137 |
.B javah
|
|
138 |
は、生成されたファイルの状態に関するメッセージを
|
|
139 |
.B stdout
|
|
140 |
に書き出します。
|
|
141 |
.TP 15
|
|
142 |
.B \-help
|
|
143 |
.B javah
|
|
144 |
の使用法についてヘルプメッセージを出力します。
|
|
145 |
.TP 15
|
|
146 |
.B \-version
|
|
147 |
javah バージョン情報を出力します。
|
|
148 |
.TP 15
|
|
149 |
.B \-jni
|
|
150 |
JNI 形式のネイティブなメソッド関数のプロトタイプが入った出力ファイルを
|
|
151 |
作成します。これはデフォルトの出力であるため、
|
|
152 |
-B \-jni
|
|
153 |
は省略可能です。
|
|
154 |
.TP 15
|
|
155 |
.BI \-classpath " path"
|
|
156 |
.B javah
|
|
157 |
がクラスを検索するために用いるパスを
|
|
158 |
.I path
|
|
159 |
で指定します。この指定値は、デフォルトおよび
|
|
160 |
.B CLASSPATH
|
|
161 |
環境変数の設定値をオーバーライドします。
|
|
162 |
複数のディレクトリを指定する場合はコロンで区切ります。
|
|
163 |
したがって
|
|
164 |
.I path
|
|
165 |
の通常の形式は次のようになります。
|
|
166 |
.RS 20
|
|
167 |
.sp 1n
|
|
168 |
.LP
|
|
169 |
.BI .:< your_path >
|
|
170 |
.sp 1n
|
|
171 |
.RE
|
|
172 |
.RS 15
|
|
173 |
.LP
|
|
174 |
パスの指定例:
|
|
175 |
.RE
|
|
176 |
.RS 20
|
|
177 |
.sp 1n
|
|
178 |
.LP
|
|
179 |
.B .:/home/avh/classes:/usr/local/java/classes
|
|
180 |
.sp 1n
|
|
181 |
.RE
|
|
182 |
.LP
|
|
183 |
便宜上、\f2*\fP のベース名を含むクラスパス要素は、ディレクトリ内の拡張子 \f2.jar\fP または \f2.JAR\fP を持つすべてのファイルのリストを指定するのと同じとみなされます (Java プログラムはこの 2 つの呼び出しを区別できない)。
|
|
184 |
.br
|
|
185 |
.br
|
|
186 |
たとえば、ディレクトリ \f2foo\fP に \f2a.jar\fP と \f2b.JAR\fP が含まれている場合、クラスパス要素 \f2foo/*\fP は \f2A.jar:b.JAR\fP に展開されます。ただし、JAR ファイルの順番は未定義となります。このリストには、隠しファイルも含め、指定されたディレクトリ内のすべての JAR ファイルが含まれます。\f2*\fP だけから成るクラスパスエントリは、カレントディレクトリ内のすべての JAR ファイルのリストに展開されます。\f2CLASSPATH\fP 環境変数も、定義時には同様に展開されます。クラスパスのワイルドカード展開は必ず、Java 仮想マシンの起動前に実行されます。したがって、\f2System.getenv("CLASSPATH")\fP 呼び出しなどの環境に対する問い合わせを行わない限り、展開されていないワイルドカードを Java プログラムは認識しません。
|
|
187 |
.TP 15
|
|
188 |
.BI \-bootclasspath " path"
|
|
189 |
bootstrap クラスをロードするパスを指定します。デフォルトでは、bootstrap
|
|
190 |
クラスはコアとなる Java 2 プラットフォームを実装するクラスで、
|
|
191 |
.B jre/lib/rt.jar
|
|
192 |
および他の重要な jar ファイルに含まれています。
|
|
193 |
.TP 15
|
|
194 |
.B \-old
|
|
195 |
古い JDK 1.0 形式のヘッダファイルを生成します。
|
|
196 |
.TP 15
|
|
197 |
.B \-force
|
|
198 |
常に出力ファイルに書き込むことを指定します。
|
|
199 |
.TP 15
|
|
200 |
.BI \-J "option"
|
|
201 |
.I option
|
|
202 |
を Java 仮想マシンに渡します。ここで、
|
|
203 |
.I option
|
|
204 |
は、Java アプリケーション起動プログラムの参照ページで
|
|
205 |
説明されているオプションの 1 つです。たとえば、
|
|
206 |
.I \-J-Xms48m
|
|
207 |
は、起動時に使用するメモリを 48M バイトに設定します。
|
|
208 |
.SH "環境変数"
|
|
209 |
.TP 15
|
|
210 |
.B CLASSPATH
|
|
211 |
ユーザ定義クラスへのパスをシステムに通知するために使用します。
|
|
212 |
複数のディレクトリを指定する場合はコロンで区切ります。
|
|
213 |
以下に例を示します。
|
|
214 |
.RS 10
|
|
215 |
.sp 1n
|
|
216 |
.LP
|
|
217 |
.B .:/home/avh/classes:/usr/local/java/classes
|
|
218 |
.RE
|
|
219 |
.SH "関連項目"
|
|
220 |
.LP
|
|
221 |
|
|
222 |
.LP
|
|
223 |
.LP
|
|
224 |
javac、java、jdb、javap、javadoc
|
|
225 |
.LP
|
|
226 |
|
|
227 |
.LP
|
|
228 |
|