'\" t .\" Copyright (c) 1994, 2013, Oracle and/or its affiliates. All rights reserved. .\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. .\" .\" This code is free software; you can redistribute it and/or modify it .\" under the terms of the GNU General Public License version 2 only, as .\" published by the Free Software Foundation. .\" .\" This code is distributed in the hope that it will be useful, but WITHOUT .\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or .\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License .\" version 2 for more details (a copy is included in the LICENSE file that .\" accompanied this code). .\" .\" You should have received a copy of the GNU General Public License version .\" 2 along with this work; if not, write to the Free Software Foundation, .\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. .\" .\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA .\" or visit www.oracle.com if you need additional information or have any .\" questions. .\" .\" Arch: generic .\" Software: JDK 8 .\" Date: 21 November 2013 .\" SectDesc: Basic Tools .\" Title: javah.1 .\" .if n .pl 99999 .TH javah 1 "21 November 2013" "JDK 8" "Basic Tools" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" javah \- تولید فایل‌های سرآیند و منبع C از یک کلاس Java\&. .SH "خلاصه دستور (SYNOPSIS)" .sp .nf \fBjavah\fR [ \fIoptions\fR ] f\fIully\-qualified\-class\-name \&.\&.\&.\fR .fi .sp .TP \fIoptions\fR گزینه‌های خط فرمان\&. بخش «گزینه‌ها» را ببینید\&. .TP \fIfully-qualified-class-name\fR مکان یا نام کاملاً مشخص (fully qualified) کلاس‌هایی که باید به فایل‌های سرآیند و منبع C تبدیل شوند\&. .SH "توضیحات (DESCRIPTION)" دستور \f3javah\fR فایل‌های سرآیند و منبع C را که برای پیاده‌سازی متدهای بومی (native methods) مورد نیاز هستند، تولید می‌کند\&. فایل‌های سرآیند و منبع تولیدشده توسط برنامه‌های C برای ارجاع به متغیرهای نمونهٔ (instance variables) یک شیء از درون کد منبع بومی استفاده می‌شوند\&. فایل \f3\&.h\fR شامل تعریف یک \f3struct\fR با چیدمانی هم‌تراز با چیدمان کلاس متناظر است\&. فیلدهای درون \f3struct\fR با متغیرهای نمونه در کلاس مطابقت دارند\&. .PP نام فایل سرآیند و ساختار تعریف‌شده در آن، از نام کلاس مشتق می‌شوند\&. هنگامی که کلاس ارائه‌شده به دستور \f3javah\fR درون یک بسته (package) قرار داشته باشد، نام بسته به ابتدای نام فایل سرآیند و نام ساختار اضافه می‌شود\&. از خط زیر (_) به عنوان جداکننده نام استفاده می‌شود\&. .PP به‌طور پیش‌فرض، دستور \f3javah\fR برای هر کلاس فهرست‌شده در خط فرمان یک فایل سرآیند ایجاد کرده و فایل‌ها را در دایرکتوری جاری قرار می‌دهد\&. برای ایجاد فایل‌های منبع از گزینهٔ \f3-stubs\fR استفاده کنید\&. برای الحاق نتایج تمام کلاس‌های فهرست‌شده در یک فایل واحد، از گزینهٔ \f3-o\fR استفاده نمایید\&. .PP رابط بومی جاوا (JNI) به اطلاعات سرآیند یا فایل‌های stub نیازی ندارد\&. با این حال همچنان می‌توان از دستور \f3javah\fR برای تولید پیش‌نمونه‌های توابع متد بومی (function prototypes) مورد نیاز برای متدهای بومی به سبک JNI استفاده کرد\&. دستور \f3javah\fR به‌طور پیش‌فرض خروجی به سبک JNI تولید می‌کند و نتیجه را در فایل \f3\&.h\fR قرار می‌دهد\&. .SH "گزینه‌ها (OPTIONS)" .TP -o \fIoutputfile\fR .br فایل‌های سرآیند یا منبع حاصل از تمام کلاس‌های مشخص‌شده در خط فرمان را درون یک فایل خروجی الحاق می‌کند\&. تنها یکی از گزینه‌های \f3-o\fR یا \f3-d\fR می‌تواند استفاده شود\&. .TP -d \fIdirectory\fR .br دایرکتوری ذخیره‌سازی فایل‌های سرآیند یا فایل‌های stub توسط دستور \f3javah\fR را تعیین می‌کند\&. تنها یکی از گزینه‌های \f3-d\fR یا \f3-o\fR می‌تواند استفاده شود\&. .TP -stubs .br باعث می‌شود دستور \f3javah\fR اعلانات C را از فایل شیء جاوا تولید کند\&. .TP -verbose .br بیانگر خروجی پرگو (verbose) است و باعث می‌شود دستور \f3javah\fR پیامی درباره وضعیت فایل‌های تولیدشده در \f3stdout\fR چاپ کند\&. .TP -help .br پیام راهنمایی برای نحوه استفاده از \f3javah\fR را چاپ می‌کند\&. .TP -version .br اطلاعات انتشار دستور \f3javah\fR را چاپ می‌کند\&. .TP -jni .br باعث می‌شود دستور \f3javah\fR یک فایل خروجی حاوی پیش‌نمونه‌های توابع متد بومی به سبک JNI بسازد\&. این حالت خروجی پیش‌فرض است؛ استفاده از \f3-jni\fR اختیاری است\&. .TP -classpath \fIpath\fR .br مسیری را مشخص می‌کند که دستور \f3javah\fR برای جستجوی کلاس‌ها از آن استفاده می‌کند\&. در صورت تنظیم بودن، پیش‌فرض یا متغیر محیطی \f3CLASSPATH\fR را لغو می‌کند\&. دایرکتوری‌ها در Oracle Solaris با دو‌نقطه (:) و در Windows با نقطه‌ویرگول (;) از یکدیگر جدا می‌شوند\&. قالب کلی مسیر عبارت است از: \fIOracle Solaris\fR: \&.:\fIyour-path\fR مثال: \f3\&.:/home/avh/classes:/usr/local/java/classes\fR \fIWindows\fR: \&.;\fIyour-path\fR مثال: \f3\&.;C:\eusers\edac\eclasses;C:\etools\ejava\eclasses\fR به عنوان یک سهولت ویژه، عنصری از مسیر کلاس که نام پایهٔ آن * باشد، معادل مشخص کردن فهرستی از تمام فایل‌های موجود در آن دایرکتوری با پسوند \f3\&.jar\fR یا \f3\&.JAR\fR در نظر گرفته می‌شود\&. برای مثال، اگر دایرکتوری \f3mydir\fR شامل فایل‌های \f3a\&.jar\fR و \f3b\&.JAR\fR باشد، آن‌گاه عنصر مسیر کلاس \f3mydir/*\fR به \f3A\fR\f3\&.jar:b\&.JAR\fR بسط می‌یابد، به جز اینکه ترتیب فایل‌های jar نامشخص است\&. تمام فایل‌های JAR در دایرکتوری مشخص‌شده، از جمله فایل‌های پنهان، در این فهرست قرار می‌گیرند\&. یک مدخل مسیر کلاس که متشکل از * باشد، به فهرستی از تمام فایل‌های JAR در دایرکتوری جاری بسط می‌یابد\&. متغیر محیطی \f3CLASSPATH\fR نیز در صورت تعریف شدن به همین صورت بسط داده می‌شود\&. هرگونه بسط نویسه عام (wildcard) در مسیر کلاس، پیش از راه‌اندازی ماشین مجازی جاوا (JVM) انجام می‌شود\&. یک برنامه جاوا هرگز نویسه‌های عام بسط‌نیافته را نخواهد دید مگر با استعلام از متغیر محیطی؛ برای مثال از طریق فراخوانی \f3System\&.getenv("CLASSPATH")\fR\&. .TP -bootclasspath \fIpath\fR .br مسیری را مشخص می‌کند که کلاس‌های راه‌انداز (bootstrap classes) از آن بارگذاری می‌شوند\&. به‌طور پیش‌فرض، کلاس‌های راه‌انداز همان کلاس‌های پیاده‌سازی‌کنندهٔ پلتفرم اصلی جاوا هستند که در \f3jre\elib\ert\&.jar\fR و چندین فایل JAR دیگر قرار دارند\&. .TP -old .br مشخص می‌کند که فایل‌های سرآیند قدیمی به سبک JDK 1\&.0 باید تولید شوند\&. .TP -force .br مشخص می‌کند که فایل‌های خروجی باید همواره نوشته شوند\&. .TP -J\fIoption\fR .br گزینهٔ \f3option\fR را به ماشین مجازی جاوا ارسال می‌کند، که در آن \f3option\fR یکی از گزینه‌های شرح داده‌شده در صفحهٔ مرجع اجراکنندهٔ برنامه جاوا است\&. برای مثال، \f3-J-Xms48m\fR حافظه راه‌اندازی را روی ۴۸ مگابایت تنظیم می‌کند\&. به java(1) مراجعه کنید\&. .SH "همچنین ببینید (SEE ALSO)" .TP 0.2i \(bu javah(1) .TP 0.2i \(bu java(1) .TP 0.2i \(bu jdb(1) .TP 0.2i \(bu javap(1) .TP 0.2i \(bu javadoc(1) .RE .br 'pl 8.5i 'bp