xml version="1.0" encoding="utf-8"? >
javah 는, Java 클래스로부터 C 헤더 파일과 C 원시 파일을 작성합니다. 이러한 파일은, Java 프로그램 언어로 쓰여진 코드와 C 등의 그 외의 언어로 쓰여진 코드를 접속해, 코드가 서로 작용하도록(듯이) 합니다.
javah [ options ] fully-qualified-classname. . . javah_g [ options ] fully-qualified-classname. . .
javah 는, 네이티브 메소드를 구현하기 위해서 필요한 C 헤더와 원시 파일을 생성합니다. 작성된 헤더와 원시 파일은, 네이티브 원시 코드로부터 객체의 인스턴스 변수를 참조하기 위해서 C 프로그램에 의해 사용됩니다.. h 파일은, 대응하는 클래스와 일치하는 배치를 가지는 구조체 정의를 포함합니다. 구조체의 필드는, 클래스의 인스턴스 변수에 대응합니다.헤더 파일과 그 중에 선언되는 구조체의 이름은 클래스의 이름으로부터 파생합니다. javah 에게 건네지는 클래스가 패키지안에 있는 경우, 패키지명은 헤더 파일명과 구조체명의 양쪽 모두에 부가됩니다. 밑줄 (_)이 이름의 단락 문자로서 사용됩니다.
디폴트에서는 javah 는, 커멘드행에 리스트 되는 각 클래스의 헤더 파일을 작성해, 현재의 디렉토리에 파일을 둡니다. 원시 파일을 작성하려면 ,-stubs 옵션을 사용해 주세요. 1 개의 파일안에, 리스트 된 모든 클래스의 결과를 연결하려면 ,-o 옵션을 사용해 주세요.
새로운 네이티브 메소드 인터페이스인 Java Native Interface (JNI)는, 헤더 정보 또는 Stub 파일을 필요로 하지 않습니다. 현재는,javah 는, JNI 형식의 네이티브 메소드에 필요한 네이티브 메소드 기능 prototype를 생성합니다. 디폴트에서는,javah 는 JNI 형식에서 출력되어 그 결과는 . h 파일에 포함됩니다.
javah_g 는,jdb 와 같은 디버거에 적절한,javah 의 최적화되어 있지 않은 버젼입니다.
- -o outputfile
- 커멘드행에 리스트 된 모든 클래스에 대해서, 결과의 헤더 또는 원시 파일을 연결해 outputfile 에 포함합니다. -o 또는 -d 의 어느 쪽인지 한편만이 사용됩니다.
- -d directory
- javah 가 헤더 파일 또는 Stub 파일을 보존하는, 디렉토리를 설정합니다. -d 또는 -o 의 어느 쪽인지 한편만이 사용됩니다.
- -stubs
- javah 가, Java 객체 파일로부터 C 선언을 생성합니다.
- -verbose
- 상세 출력을 지정해, 작성 파일 상태에 관한 메세지를,javah 가 표준 출력에 출력합니다.
- -help
- javah 의 사용법에 대한 헬프 메세지를 출력합니다.
- -version
- javah 의 버젼 정보를 출력합니다.
- -jni
- JNI 형식의 네이티브 파일 기능 prototype를 포함한 출력 파일을,javah 가 작성합니다. 이것은 표준 출력이기 (위해)때문에,-jni 의 사용은 옵션입니다.
- -classpath path
- 클래스를 찾기 위해서(때문에) javah 가 사용하는 패스를 지정합니다. 디폴트 또는 CLASSPATH 환경 변수 설정을 덧쓰기합니다. 디렉토리는 세미콜론으로 분할합니다. 따라서,path 의 일반 형식은 다음과 같이 됩니다.
. ;<your_path>예를 나타냅니다.. ;C:\users\dac\classes;C:\tools\java\classes편의상,
*의 베이스명을 포함한 클래스 패스 요소는, 디렉토리내의 확장자(extension). jar또는. JAR를 가지는 모든 파일의 리스트를 지정하는 것과 같은 것으로 간주해집니다 (Java 프로그램은 이 2 개의 호출을 구별할 수 없다).
예를 들어, 디렉토리foo에a.jar와b.JAR가 포함되어 있는 경우, 클래스 패스 요소foo/*는A.jar:b.JAR에 전개됩니다. 다만, JAR 파일의 차례는 지정되지 않습니다. 이 리스트에는, 은폐 파일도 포함해 지정된 디렉토리내의 모든 JAR 파일이 포함됩니다.*만일 수 있는으로부터 완성되는 클래스 패스 엔트리는, 커런트 디렉토리내의 모든 JAR 파일의 리스트에 전개됩니다.CLASSPATH환경 변수도, 정의시에는과 같이 전개됩니다. 클래스 패스의 와일드 카드 전개는 반드시, Java 가상 머신의 기동전에 실행됩니다. 따라서,System.getenv("CLASSPATH") 호출과 같이 환경에 문의를 실시하지 않는 이상 Java 프로그램이 전개되어 있지 않은 와일드 카드를 인식할 것은 없습니다.- -bootclasspath path
- bootstrap 클래스를 로드하는 패스를 지정합니다. bootstrap 클래스는, 디폴트에서는 jre\lib\rt.jar 및 다른 몇개의 JAR 파일에 있는, 코어 Java 플랫폼을 구현하는 클래스입니다.
- -old
- 낡은 JDK1. 0 형식의 헤더 파일을 생성하도록(듯이) 지정합니다.
- -force
- 출력 파일이 항상 기입해지도록(듯이) 지정합니다.
- -Joption
- Java 가상 머신에 option 를 건네줍니다. option 에는,「Java 어플리케이션 기동 툴」의 레퍼런스 페이지에 기재되어 있는 옵션을 1 개 지정합니다. 예를 들어,-J-Xms48m 와 지정하면(자), 스타트 업 메모리는 48M 바이트로 설정됩니다.
- CLASSPATH
- 사용자 정의 클래스에의 패스를 시스템으로 지정합니다. 디렉토리는 세미콜론으로 분할되고 있습니다. 다음에 예를 나타냅니다.
. ;C:\users\dac\classes;C:\tools\java\classes
javac ,java ,jdb ,javap ,javadoc
|
Copyright © 2002-2006 Sun Microsystems, Inc. All Rights Reserved. |
Java Software |