GIWS(소프트웨어)
GIWS (software)![]() |
GIWS는 필요한 JNI 코드를 자동으로 생성함으로써 C 또는 C++에서 Java 호출을 단순화하는 래퍼 생성기입니다.
GIWS는 CeCIL 라이선스로 출시됩니다.
예
다음 Java 클래스는 간단한 계산을 수행합니다.
패키지 basic_basic; 수입품 java.displaces를 클릭합니다.수학; 일반의 학급 마이콤플렉스 클래스{ 일반의 마이콤플렉스 클래스(){ // 생성자 } 일반의 긴 매우 복잡한 컴퓨팅(이중으로 하다 a, 이중으로 하다 b){ 돌아가다 수학.둥글다(수학.왜냐하면(a)+수학.죄(b)*9); } }
GIWS는 C++에서 호출하는 기능을 제공합니다.
#실패하다 <iostream> #실패하다 "basic_basic.hxx" #실패하다 <jni.h> JavaVM* create_vm() { JavaVM* jvm; JNIEnv* 부러워하다; Java VMInitArgs args; Java VMotion 옵션들[2]; args.버전 = JNI_VERSION_1_4; args.n옵션 = 2; 옵션들[0].option String(옵션 문자열) = const_캐스트< >차*>(- Djava.class.경로="); 옵션들[1].option String(옵션 문자열) = const_캐스트< >차*>(-Xcheck:jni); args.옵션들 = 옵션들; args.ignore 인식되지 않음 = JNI_FALSE; JNI_CreateJavaVM(&jvm, (무효 **)&부러워하다, &args); 돌아가다 jvm; } 사용. 네임스페이스 basic_basic; 사용. 네임스페이스 표준; 인트 주된(){ JavaVM* jvm = create_vm(); 마이콤플렉스 클래스 *Test Of My Class = 신규 마이콤플렉스 클래스(jvm); 외치다 << > "내 계산:" << > Test Of My Class->매우 복잡한 컴퓨팅(1.2,80) << > 끝; 돌아가다 0; }
바인딩을 생성하기 위해 GIWS는 XML 선언을 사용합니다.GIWS는 Java 객체를 호출하기 위한 JNI 코드를 생성합니다.
<클라이언트> 이름="basic_filename"> <객체> 이름="My Complex Class"> <클라이언트> 이름="복잡한 컴퓨팅" return Type ='긴'> <클라이언트> 입력='더블' 이름="a" /> <클라이언트> 입력='더블' 이름="b" /> </filters> </개체> </filters>
「 」를 참조해 주세요.
- SWIG를 통해 C 또는 C++를 상위 언어에서 호출할 수 있습니다.