Программирование на языке Java


Инструментальные средства JDK - часть 16


По умолчанию javah создает файл заголовков для указанного класса или классов. В этом файле объявляется С-структура struct, которая содержит переменные, соответствующие переменным экземпляра класса Java. В нем также объявляется процедура, которую необходимо реализовать для каждого платформно-зависимого метода, содержащегося в Java-классе. (Полное описание способов реализации методов Java на С выходит за рамки данной главы.)

Ест javah

выполняется с параметром -stubs, создается файл с расширением с, содержащий дополнительные процедуры-заглушки, необходимые для связи платформно-зависимого метода со средой Java. Отметим, что в этот файл не следует помещать текст реализации метода.

При заданном параметре -jni программа javah создает файлы заголовков на С, в которых объявляются прототипы для платформно-зависимой реализации каждого метода указанных классов. При использовании этого нового интерфейса определять какую-либо структуру не требуется. Для JNI не нужны также файлы-заглушки, поэтому параметр -stub не может использоваться в сочетании с параметром -jni.

По умолчанию javah создает С-файлы в текущем каталоге, и их имена включают имя класса. Если имя класса включает имя пакета, то С-файлы включают все компоненты полного имени класса с заменой точек символом подчеркивания. Этот заданный по умолчанию режим может быть переопределен с помощью параметров -d и -о.

Параметры

-classpath путь

Определяет путь, который javah использует для поиска классов, указанных в командной строке. Этот параметр переопределяет путь, задаваемый по умолчанию или определяемый переменной среды classpath. Аргумент путь содержит упорядоченный список каталогов и ZIP-файлов, разделенных двоеточиями в среде UNIX или точками с запятой в среде Windows.

Чтобы указать дополнительные каталоги и ZIP-файлы, не переопределяя заданный по умолчанию путь поиска системных классов, используется переменная среды classpath. Подробнее об определении пути рассказано в описании Java.

-d каталог

Указывает каталоги, в которые javah должен записывать создаваемые им файлы. По умолчанию они создаются в текущем каталоге. Этот параметр не работает вместе с параметром -о, поэтому внутри имени файла в параметре -о следует также указывать необходимый каталог.




- Начало -  - Назад -  - Вперед -