GIWS (бағдарламалық жасақтама) - GIWS (software)

GIWS Бұл орауыш генераторы қоңырауды жеңілдетуге арналған Java бастап C немесе C ++ автоматты түрде қажетті генерациялау арқылы JNI код.

GIWS астында шығарылады CeCILL лицензия.

Мысал

Келесі Java сыныбы қарапайым есептеуді орындайды.

пакет негізгі_мысал;импорт java.lang.Math;қоғамдық сынып MyComplexClass{	қоғамдық MyComplexClass(){		// конструктор	}	қоғамдық ұзақ myVeryComplexComputation(екі есе а, екі есе б){		қайту Математика.дөңгелек(Математика.cos(а)+Математика.күнә(б)*9);	}	}

GIWS оны C ++ тілінен шақыруға мүмкіндік береді.

# қосу <iostream># қосу «basic_example.hxx»# қосу <jni.h>JavaVM* жасау_vm() {	JavaVM* jvm;	JNIEnv* env;	JavaVMInitArgs доға;	JavaVMOption опциялар[2];	доға.нұсқасы = JNI_VERSION_1_4;	доға.nOptions = 2;	опциялар[0].optionString = const_cast<char*>(«-Djava.class.path =.»);	опциялар[1].optionString = const_cast<char*>(«-Xcheck: jni»);	доға.опциялар = опциялар;	доға.елемеуБелгісіз = JNI_FALSE;	JNI_CreateJavaVM(&jvm, (жарамсыз **)&env, &доға);	қайту jvm;}қолдану аттар кеңістігі негізгі_мысал;қолдану аттар кеңістігі std;int негізгі(){  	JavaVM* jvm = жасау_vm();	MyComplexClass *testOfMyClass = жаңа MyComplexClass(jvm);	cout << «Менің есептеуім:»  << testOfMyClass->myVeryComplexComputation(1.2,80) << соңы;	қайту 0;	}

Тұтастыруды құру үшін GIWS XML декларациясын қолданады. GIWS Java нысанын шақыру үшін JNI кодын жасайды.

<пакет аты =«basic_example»>  <объект аты =«MyComplexClass»>        <әдісі аты =«myVeryComplexComputation» returnType =«ұзақ»>          <парам тип =«қос» аты =«а» />          <парам тип =«қос» аты =«б» />        </method>  </object></package>

Сондай-ақ қараңыз

  • SWIG жоғары деңгейдегі тілдерден C немесе C ++ тілдеріне қоңырау шалуға мүмкіндік береді

Сыртқы сілтемелер