jdk/src/linux/doc/man/ja/javah.1
author mikejwre
Wed, 16 Jun 2010 15:48:53 -0700
changeset 5661 eda3e9ad64dc
parent 5506 202f599c92aa
child 5865 47da38a8c0f0
permissions -rw-r--r--
Merge
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
     1
." Copyright 2002-2006 Sun Microsystems, Inc.  All Rights Reserved.
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
     2
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
     3
."
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
     4
." This code is free software; you can redistribute it and/or modify it
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
     5
." under the terms of the GNU General Public License version 2 only, as
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
     6
." published by the Free Software Foundation.
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
     7
."
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
     8
." This code is distributed in the hope that it will be useful, but WITHOUT
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
     9
." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    10
." FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    11
." version 2 for more details (a copy is included in the LICENSE file that
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    12
." accompanied this code).
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    13
."
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    14
." You should have received a copy of the GNU General Public License version
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    15
." 2 along with this work; if not, write to the Free Software Foundation,
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    16
." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    17
."
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 2692
diff changeset
    18
." Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 2692
diff changeset
    19
." or visit www.oracle.com if you need additional information or have any
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 2692
diff changeset
    20
." questions.
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    21
."
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    22
.TH javah 1 "04 May 2009"
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    23
." Generated from HTML by html2man (author: Eric Armstrong)
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    24
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    25
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    26
.SH "名前"
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    27
javah \- C ヘッダーとスタブファイルジェネレータ
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    28
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    29
.RS 3
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    30
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    31
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    32
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    33
\f3javah\fP は、Java クラスから C ヘッダーファイルと C ソースファイルを作成します。これらのファイルは、Java プログラミング言語で書かれたコードと、C などのその他の言語で書かれたコードを接続し、コードが相互に作用するようにします。
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    34
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    35
.RE
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    36
.SH "形式"
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    37
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    38
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    39
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    40
.nf
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    41
\f3
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    42
.fl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    43
javah [ \fP\f3options\fP\f3 ] fully\-qualified\-classname. . .
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    44
.fl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    45
javah_g [ \fP\f3options\fP\f3 ] fully\-qualified\-classname. . .
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    46
.fl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    47
\fP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    48
.fi
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    49
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    50
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    51
.SH "説明"
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    52
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    53
90ce3da70b43 Initial load
duke
parents:
diff changeset
    54
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
    55
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    56
\f3javah\fP は、ネイティブメソッドを実装するために必要な C ヘッダーとソースファイルを生成します。作成されたヘッダーとソースファイルは、ネイティブソースコードからオブジェクトのインスタンス変数を参照するために C プログラムによって使用されます。.h ファイルは、対応するクラスと一致する配置を持つ構造体定義を含みます。構造体のフィールドは、クラスのインスタンス変数に対応します。
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    57
.LP
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    58
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    59
ヘッダーファイルとその中で宣言される構造体の名前はクラスの名前から派生します。\f3javah\fP に渡されるクラスがパッケージの中にある場合、パッケージ名はヘッダーファイル名と構造体名の両方に付加されます。下線 (_) が名前の区切り文字として使用されます。
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    60
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    61
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    62
デフォルトでは \f3javah\fP は、コマンド行にリストされる各クラスのヘッダーファイルを作成し、現在のディレクトリにファイルを置きます。ソースファイルを作成するには、\f2\-stubs\fP オプションを使用してください。1 つのファイルの中に、リストされたすべてのクラスの結果を連結するには、\f2\-o\fP オプションを使用してください。
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    63
.LP
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    64
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    65
新しいネイティブメソッドインタフェースである Java Native Interface (JNI) は、ヘッダー情報またはスタブファイルを必要としません。 現在では、\f3javah\fP は、JNI 形式のネイティブメソッドに必要なネイティブメソッド機能プロトタイプを生成します。 デフォルトでは、\f3javah\fP は JNI 形式で出力され、その結果は .h ファイルに格納されます。
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    66
.LP
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    67
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    68
\f3javah_g\fP は、jdb(1) のようなデバッガに適した、\f3javah\fP の最適化されていないバージョンです。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    69
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    70
.SH "オプション"
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    71
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    72
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    73
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    74
.RS 3
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    75
.TP 3
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    76
\-o outputfile 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    77
コマンド行にリストされたすべてのクラスに対して、結果のヘッダーまたはソースファイルを連結して \f2outputfile\fP に格納します。\f3\-o\fP または \f3\-d\fP のどちらか一方だけが使われます。 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    78
.TP 3
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    79
\-d directory 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    80
\f3javah\fP がヘッダーファイルまたはスタブファイルを保存する、ディレクトリを設定します。\f3\-d\fP または \f3\-o\fP のどちらか一方だけが使われます。 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    81
.TP 3
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    82
\-stubs 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    83
\f3javah\fP が、Java オブジェクトファイルから C 宣言を生成します。 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    84
.TP 3
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    85
\-verbose 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    86
詳細出力を指定し、作成ファイルの状態に関するメッセージを、\f3javah\fP が標準出力に出力します。 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    87
.TP 3
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    88
\-help 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    89
\f3javah\fP の使用法についてのヘルプメッセージを出力します。 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    90
.TP 3
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    91
\-version 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    92
\f3javah\fP のバージョン情報を出力します。 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    93
.TP 3
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    94
\-jni 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    95
JNI 形式のネイティブファイル機能プロトタイプを含む出力ファイルを、\f3javah\fP が作成します。これは標準出力であるため、\f3\-jni\fP の使用はオプションです。 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    96
.TP 3
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    97
\-classpath path 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    98
クラスを探すために \f3javah\fP が使用するパスを指定します。デフォルトまたは CLASSPATH 環境変数設定を上書きします。ディレクトリはコロンで分割します。したがって、\f2path\fP の一般形式は次のようになります。 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
    99
.nf
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   100
\f3
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   101
.fl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   102
   .:<your_path>
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   103
.fl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   104
\fP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   105
.fi
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   106
例を示します。 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   107
.nf
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   108
\f3
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   109
.fl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   110
   .:/home/avh/classes:/usr/local/java/classes
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   111
.fl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   112
\fP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   113
.fi
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   114
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   115
便宜上、\f2*\fP のベース名を含むクラスパス要素は、ディレクトリ内の拡張子 \f2.jar\fP または \f2.JAR\fP を持つすべてのファイルのリストを指定するのと同じとみなされます (Java プログラムはこの 2 つの呼び出しを区別できない)。
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   116
.br
90ce3da70b43 Initial load
duke
parents:
diff changeset
   117
.br
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   118
たとえば、ディレクトリ \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 プログラムが展開されていないワイルドカードを認識することはありません。   
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   119
.TP 3
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   120
\-bootclasspath path 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   121
ブートストラップクラスをロードするパスを指定します。ブートストラップクラスは、デフォルトでは \f2jre/lib/rt.jar\fP および他のいくつかの JAR ファイル にある、コア Java 2 プラットフォームを実装するクラスです。 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   122
.TP 3
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   123
\-old 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   124
古い JDK1.0 形式のヘッダーファイルを生成するように指定します。 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   125
.TP 3
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   126
\-force 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   127
出力ファイルが常に書き込まれるように指定します。 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   128
.TP 3
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   129
\-Joption 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   130
Java 仮想マシンに \f2option\fP を渡します。 \f2option\fP には、java(1)のリファレンスページに記載されているオプションを 1 つ指定します。たとえば、\f3\-J\-Xms48m\fP と指定すると、スタートアップメモリーは 48M バイトに設定されます。 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   131
.RE
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   132
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   133
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   134
.SH "環境変数"
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   135
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   136
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   137
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   138
.RS 3
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   139
.TP 3
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   140
CLASSPATH 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   141
ユーザー定義クラスへのパスをシステムに指定します。ディレクトリはコロンで分割されています。 
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   142
.nf
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   143
\f3
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   144
.fl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   145
.:/home/avh/classes:/usr/local/java/classes
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   146
.fl
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   147
\fP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   148
.fi
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   149
.RE
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   150
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   151
.LP
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   152
.SH "関連項目"
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   153
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   154
90ce3da70b43 Initial load
duke
parents:
diff changeset
   155
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   156
.LP
2692
345bc8d65b19 6837214: Update JDK7 man pages
tbell
parents: 2
diff changeset
   157
javac(1)、java(1)、jdb(1)、javap(1)、javadoc(1)
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   158
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   159
90ce3da70b43 Initial load
duke
parents:
diff changeset
   160
.LP
90ce3da70b43 Initial load
duke
parents:
diff changeset
   161