1 ." Copyright (c) 1994, 2011, Oracle and/or its affiliates. All rights reserved. |
1 '\" t |
2 ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
2 .\" Copyright (c) 1994, 2013, Oracle and/or its affiliates. All rights reserved. |
3 ." |
3 .\" Title: javah |
4 ." This code is free software; you can redistribute it and/or modify it |
4 .\" Language: English |
5 ." under the terms of the GNU General Public License version 2 only, as |
5 .\" Date: 2013年11月21日 |
6 ." published by the Free Software Foundation. |
6 .\" SectDesc: 基本ツール |
7 ." |
7 .\" Software: JDK 8 |
8 ." This code is distributed in the hope that it will be useful, but WITHOUT |
8 .\" Arch: 汎用 |
9 ." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
9 .\" |
10 ." FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
10 .\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
11 ." version 2 for more details (a copy is included in the LICENSE file that |
11 .\" |
12 ." accompanied this code). |
12 .\" This code is free software; you can redistribute it and/or modify it |
13 ." |
13 .\" under the terms of the GNU General Public License version 2 only, as |
14 ." You should have received a copy of the GNU General Public License version |
14 .\" published by the Free Software Foundation. |
15 ." 2 along with this work; if not, write to the Free Software Foundation, |
15 .\" |
16 ." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
16 .\" This code is distributed in the hope that it will be useful, but WITHOUT |
17 ." |
17 .\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
18 ." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
18 .\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
19 ." or visit www.oracle.com if you need additional information or have any |
19 .\" version 2 for more details (a copy is included in the LICENSE file that |
20 ." questions. |
20 .\" accompanied this code). |
21 ." |
21 .\" |
22 .TH javah 1 "07 May 2011" |
22 .\" You should have received a copy of the GNU General Public License version |
23 |
23 .\" 2 along with this work; if not, write to the Free Software Foundation, |
24 .LP |
24 .\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
25 .SH "名前" |
25 .\" |
26 javah \- C ヘッダーとスタブファイルジェネレータ |
26 .\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
27 .LP |
27 .\" or visit www.oracle.com if you need additional information or have any |
28 .LP |
28 .\" questions. |
29 \f3javah\fP は、Java クラスから C ヘッダーファイルと C ソースファイルを作成します。これらのファイルは、Java プログラミング言語で書かれたコードと、C などのその他の言語で書かれたコードを接続し、コードが相互に作用するようにします。 |
29 .\" |
30 .LP |
30 .pl 99999 |
31 .SH "形式" |
31 .TH "javah" "1" "2013年11月21日" "JDK 8" "基本ツール" |
32 .LP |
32 .\" ----------------------------------------------------------------- |
|
33 .\" * Define some portability stuff |
|
34 .\" ----------------------------------------------------------------- |
|
35 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
36 .\" http://bugs.debian.org/507673 |
|
37 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html |
|
38 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
39 .ie \n(.g .ds Aq \(aq |
|
40 .el .ds Aq ' |
|
41 .\" ----------------------------------------------------------------- |
|
42 .\" * set default formatting |
|
43 .\" ----------------------------------------------------------------- |
|
44 .\" disable hyphenation |
|
45 .nh |
|
46 .\" disable justification (adjust text to left margin only) |
|
47 .ad l |
|
48 .\" ----------------------------------------------------------------- |
|
49 .\" * MAIN CONTENT STARTS HERE * |
|
50 .\" ----------------------------------------------------------------- |
|
51 .SH "NAME" |
|
52 javah \- JavaクラスからCヘッダーとソース・ファイルを生成します。 |
|
53 .SH "概要" |
|
54 .sp |
|
55 .if n \{\ |
|
56 .RS 4 |
|
57 .\} |
33 .nf |
58 .nf |
34 \f3 |
59 \fIjavah\fR [ \fIoptions\fR ] f\fIully\-qualified\-class\-name \&.\&.\&.\fR |
35 .fl |
|
36 javah [ \fP\f3options\fP\f3 ] fully\-qualified\-classname. . . |
|
37 .fl |
|
38 \fP |
|
39 .fi |
60 .fi |
40 |
61 .if n \{\ |
41 .LP |
62 .RE |
|
63 .\} |
|
64 .PP |
|
65 \fIoptions\fR |
|
66 .RS 4 |
|
67 コマンドライン・オプション。オプションを参照してください。 |
|
68 .RE |
|
69 .PP |
|
70 \fIfully\-qualified\-class\-name\fR |
|
71 .RS 4 |
|
72 Cヘッダーとソース・ファイルに変換されるクラスの完全修飾された場所。 |
|
73 .RE |
42 .SH "説明" |
74 .SH "説明" |
43 .LP |
75 .PP |
44 .LP |
76 \fIjavah\fRコマンドは、ネイティブ・メソッドを実装するために必要なCヘッダーとソース・ファイルを生成します。作成されたヘッダーとソース・ファイルは、ネイティブ・ソース・コードからオブジェクトのインスタンス変数を参照するためにCプログラムによって使用されます。\fI\&.h\fRファイルは、対応するクラスと一致する配置を持つ\fIstruct\fR定義を含みます。\fIstruct\fRのフィールドは、クラスのインスタンス変数に対応します。 |
45 \f3javah\fP は、ネイティブメソッドを実装するために必要な C ヘッダーとソースファイルを生成します。作成されたヘッダーとソースファイルは、ネイティブソースコードからオブジェクトのインスタンス変数を参照するために C プログラムによって使用されます。.h ファイルは、対応するクラスと一致する配置を持つ構造体定義を含みます。構造体のフィールドは、クラスのインスタンス変数に対応します。 |
77 .PP |
46 .LP |
78 ヘッダー・ファイルとその中で宣言される構造体の名前はクラスの名前から派生します。\fIjavah\fRコマンドに渡されるクラスがパッケージの中にある場合、パッケージ名はヘッダー・ファイル名と構造体名の両方の先頭に付加されます。下線(_)が名前の区切り文字として使用されます。 |
47 .LP |
79 .PP |
48 ヘッダーファイルとその中で宣言される構造体の名前はクラスの名前から派生します。\f3javah\fP に渡されるクラスがパッケージの中にある場合、パッケージ名はヘッダーファイル名と構造体名の両方に付加されます。下線 (_) が名前の区切り文字として使用されます。 |
80 デフォルトでは\fIjavah\fRコマンドは、コマンドラインにリストされる各クラスのヘッダー・ファイルを作成し、現在のディレクトリにファイルを置きます。ソース・ファイルを作成するには、\fI\-stubs\fRオプションを使用してください。1つのファイルの中に、リストされたすべてのクラスの結果を連結するには、\fI\-o\fRオプションを使用してください。 |
49 .LP |
81 .PP |
50 .LP |
82 Java Native Interface (JNI)はヘッダー情報またはスタブ・ファイルを必要としません。\fIjavah\fRコマンドは引き続きJNI形式のネイティブ・メソッドに必要なネイティブ・メソッド関数プロトタイプの生成に使用できます。\fIjavah\fRコマンドはデフォルトでJNI形式の出力を生成し、その結果を\fI\&.h\fRファイルに格納します。 |
51 デフォルトでは \f3javah\fP は、コマンド行にリストされる各クラスのヘッダーファイルを作成し、現在のディレクトリにファイルを置きます。ソースファイルを作成するには、\f2\-stubs\fP オプションを使用してください。1 つのファイルの中に、リストされたすべてのクラスの結果を連結するには、\f2\-o\fP オプションを使用してください。 |
|
52 .LP |
|
53 .LP |
|
54 新しいネイティブメソッドインタフェースである Java Native Interface (JNI) は、ヘッダー情報またはスタブファイルを必要としません。現在では、\f3javah\fP は、JNI 形式のネイティブメソッドに必要なネイティブメソッド機能プロトタイプを生成します。デフォルトでは、\f3javah\fP は JNI 形式で出力され、その結果は .h ファイルに格納されます。 |
|
55 .LP |
|
56 .SH "オプション" |
83 .SH "オプション" |
57 .LP |
84 .PP |
58 .RS 3 |
85 \-o \fIoutputfile\fR |
59 .TP 3 |
86 .RS 4 |
60 \-o outputfile |
87 コマンドラインにリストされたすべてのクラスに対して、結果のヘッダーまたはソース・ファイルを連結して出力ファイルに格納します。\fI\-o\fRまたは\fI\-d\fRのどちらかのみ使用できます。 |
61 コマンド行にリストされたすべてのクラスに対して、結果のヘッダーまたはソースファイルを連結して \f2outputfile\fP に格納します。\f3\-o\fP または \f3\-d\fP のどちらか一方だけが使われます。 |
88 .RE |
62 .TP 3 |
89 .PP |
63 \-d directory |
90 \-d \fIdirectory\fR |
64 \f3javah\fP がヘッダーファイルまたはスタブファイルを保存する、ディレクトリを設定します。\f3\-d\fP または \f3\-o\fP のどちらか一方だけが使われます。 |
91 .RS 4 |
65 .TP 3 |
92 \fIjavah\fRがヘッダー・ファイルまたはスタブ・ファイルを保存する、ディレクトリを設定します。\fI\-d\fRまたは\fI\-o\fRのどちらかのみ使用できます。 |
66 \-stubs |
93 .RE |
67 \f3javah\fP が、Java オブジェクトファイルから C 宣言を生成します。 |
94 .PP |
68 .TP 3 |
95 \-stubs |
69 \-verbose |
96 .RS 4 |
70 詳細出力を指定し、作成ファイルの状態に関するメッセージを、\f3javah\fP が標準出力に出力します。 |
97 \fIjavah\fRコマンドが、Javaオブジェクト・ファイルからC宣言を生成します。 |
71 .TP 3 |
98 .RE |
72 \-help |
99 .PP |
73 \f3javah\fP の使用法についてのヘルプメッセージを出力します。 |
100 \-verbose |
74 .TP 3 |
101 .RS 4 |
75 \-version |
102 詳細出力を指定し、作成ファイルの状態に関するメッセージを、\fIjavah\fRコマンドが\fI標準出力\fRに出力します。 |
76 \f3javah\fP のバージョン情報を出力します。 |
103 .RE |
77 .TP 3 |
104 .PP |
78 \-jni |
105 \-help |
79 JNI 形式のネイティブファイル機能プロトタイプを含む出力ファイルを、\f3javah\fP が作成します。これは標準出力であるため、\f3\-jni\fP の使用はオプションです。 |
106 .RS 4 |
80 .TP 3 |
107 \fIjavah\fRの使用方法についてのヘルプ・メッセージを出力します。 |
81 \-classpath path |
108 .RE |
82 クラスを探すために \f3javah\fP が使用するパスを指定します。デフォルトまたは CLASSPATH 環境変数設定を上書きします。ディレクトリはコロンで分割します。したがって、\f2path\fP の一般形式は次のようになります。 |
109 .PP |
83 .nf |
110 \-version |
84 \f3 |
111 .RS 4 |
85 .fl |
112 \fIjavah\fRコマンドのリリース情報を出力します。 |
86 .:<your_path> |
113 .RE |
87 .fl |
114 .PP |
88 \fP |
115 \-jni |
89 .fi |
116 .RS 4 |
90 次に例を示します。 |
117 JNI形式のネイティブ・メソッド機能プロトタイプを含む出力ファイルを、\fIjavah\fRコマンドが作成します。これは標準出力であるため、\fI\-jni\fRの使用はオプションです。 |
91 .nf |
118 .RE |
92 \f3 |
119 .PP |
93 .fl |
120 \-classpath \fIpath\fR |
94 .:/home/avh/classes:/usr/local/java/classes |
121 .RS 4 |
95 .fl |
122 クラスを探すために\fIjavah\fRコマンドが使用するパスを指定します。デフォルトまたは\fICLASSPATH\fR環境変数の設定をオーバーライドします。ディレクトリはOracle Solarisの場合はコロンで、Windowsの場合はセミコロンで区切られます。パスの一般的な形式は次のようになります。 |
96 \fP |
123 .sp |
97 .fi |
124 \fBOracle Solaris\fRの場合: |
98 .LP |
125 .sp |
99 便宜上、 \f2*\fP のベース名を含むクラスパス要素は、ディレクトリ内の拡張子 \f2.jar\fP または \f2.JAR\fP を持つすべてのファイルのリストを指定するのと同じとみなされます (Java プログラムはこの 2 つの呼び出しを区別できない)。 |
126 \&.:\fIyour\-path\fR |
|
127 .sp |
|
128 例: |
|
129 \fI\&.:/home/avh/classes:/usr/local/java/classes\fR |
|
130 .sp |
|
131 \fBWindows\fRの場合: |
|
132 .sp |
|
133 \&.;\fIyour\-path\fR |
|
134 .sp |
|
135 例: |
|
136 \fI\&.;C:\eusers\edac\eclasses;C:\etools\ejava\eclasses\fR |
|
137 .sp |
|
138 便宜上、*のベース名を含むクラス・パス要素は、\fI\&.jar\fRまたは\fI\&.JAR\fRを拡張子に持つディレクトリ内のすべてのファイルのリストを指定するのと同等とみなされます。 |
|
139 .sp |
|
140 たとえば、ディレクトリ\fImydir\fRに\fIa\&.jar\fRと\fIb\&.JAR\fRが含まれている場合、クラス・パス要素\fImydir/*\fRは\fIA\fR\fI\&.jar:b\&.JAR\fRに展開されますが、JARファイルの順番は未指定となります。このリストには、隠しファイルも含め、指定されたディレクトリ内のすべてのJARファイルが含まれます。*からなるクラス・パス・エントリは、現在のディレクトリ内のすべてのJARファイルのリストに展開されます。\fICLASSPATH\fR環境変数も、定義時には同様に展開されます。クラス・パスのワイルドカードの展開は、Java仮想マシン(JVM)の開始前に行われます。Javaプログラムは、環境を問い合せる場合を除き、展開されていないワイルドカードを参照しません。たとえば、\fISystem\&.getenv("CLASSPATH")\fRをコールして問い合せる場合です。 |
|
141 .RE |
|
142 .PP |
|
143 \-bootclasspath \fIpath\fR |
|
144 .RS 4 |
|
145 ブートストラップ・クラスをロードするパスを指定します。ブートストラップ・クラスは、デフォルトでは\fIjre\elib\ert\&.jar\fRおよび他のいくつかのJARファイルにある、コアJavaプラットフォームを実装するクラスです。 |
|
146 .RE |
|
147 .PP |
|
148 \-old |
|
149 .RS 4 |
|
150 古いJDK 1\&.0形式のヘッダー・ファイルを生成するように指定します。 |
|
151 .RE |
|
152 .PP |
|
153 \-force |
|
154 .RS 4 |
|
155 出力ファイルが常に書き込まれるように指定します。 |
|
156 .RE |
|
157 .PP |
|
158 \-J\fIoption\fR |
|
159 .RS 4 |
|
160 Java仮想マシンに\fIoption\fRを渡します。\fIoption\fRには、Javaアプリケーション起動ツールのリファレンス・ページに記載されているオプションを1つ指定します。たとえば、\fI\-J\-Xms48m\fRと指定すると、スタートアップ・メモリーは48MBに設定されます。java(1)を参照してください。 |
|
161 .RE |
|
162 .SH "関連項目" |
|
163 .sp |
|
164 .RS 4 |
|
165 .ie n \{\ |
|
166 \h'-04'\(bu\h'+03'\c |
|
167 .\} |
|
168 .el \{\ |
|
169 .sp -1 |
|
170 .IP \(bu 2.3 |
|
171 .\} |
|
172 javah(1) |
|
173 .RE |
|
174 .sp |
|
175 .RS 4 |
|
176 .ie n \{\ |
|
177 \h'-04'\(bu\h'+03'\c |
|
178 .\} |
|
179 .el \{\ |
|
180 .sp -1 |
|
181 .IP \(bu 2.3 |
|
182 .\} |
|
183 java(1) |
|
184 .RE |
|
185 .sp |
|
186 .RS 4 |
|
187 .ie n \{\ |
|
188 \h'-04'\(bu\h'+03'\c |
|
189 .\} |
|
190 .el \{\ |
|
191 .sp -1 |
|
192 .IP \(bu 2.3 |
|
193 .\} |
|
194 jdb(1) |
|
195 .RE |
|
196 .sp |
|
197 .RS 4 |
|
198 .ie n \{\ |
|
199 \h'-04'\(bu\h'+03'\c |
|
200 .\} |
|
201 .el \{\ |
|
202 .sp -1 |
|
203 .IP \(bu 2.3 |
|
204 .\} |
|
205 javap(1) |
|
206 .RE |
|
207 .sp |
|
208 .RS 4 |
|
209 .ie n \{\ |
|
210 \h'-04'\(bu\h'+03'\c |
|
211 .\} |
|
212 .el \{\ |
|
213 .sp -1 |
|
214 .IP \(bu 2.3 |
|
215 .\} |
|
216 javadoc(1) |
|
217 .RE |
100 .br |
218 .br |
101 .br |
219 'pl 8.5i |
102 たとえば、ディレクトリ \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 プログラムが展開されていないワイルドカードを認識することはありません。 |
220 'bp |
103 .TP 3 |
|
104 \-bootclasspath path |
|
105 ブートストラップクラスをロードするパスを指定します。ブートストラップクラスは、デフォルトでは \f2jre/lib/rt.jar\fP および他のいくつかの JAR ファイル にある、コア Java 2 プラットフォームを実装するクラスです。 |
|
106 .TP 3 |
|
107 \-old |
|
108 古い JDK1.0 形式のヘッダーファイルを生成するように指定します。 |
|
109 .TP 3 |
|
110 \-force |
|
111 出力ファイルが常に書き込まれるように指定します。 |
|
112 .TP 3 |
|
113 \-Joption |
|
114 Java 仮想マシンに \f2option\fP を渡します。\f2option\fP には、java(1)のリファレンスページに記載されているオプションを 1 つ指定します。たとえば、\f3\-J\-Xms48m\fP と指定すると、スタートアップメモリーは 48M バイトに設定されます。 |
|
115 .RE |
|
116 |
|
117 .LP |
|
118 .SH "環境変数" |
|
119 .LP |
|
120 .RS 3 |
|
121 .TP 3 |
|
122 CLASSPATH |
|
123 ユーザー定義クラスへのパスをシステムに指定します。ディレクトリはコロンで分割されています。 |
|
124 .nf |
|
125 \f3 |
|
126 .fl |
|
127 .:/home/avh/classes:/usr/local/java/classes |
|
128 .fl |
|
129 \fP |
|
130 .fi |
|
131 .RE |
|
132 |
|
133 .LP |
|
134 .SH "関連項目" |
|
135 .LP |
|
136 .LP |
|
137 javac(1)、java(1)、jdb(1)、javap(1)、javadoc(1) |
|
138 .LP |
|
139 |
|