WikiDer > GIWS (dasturiy ta'minot)
Ushbu maqolaning mavzusi Vikipediyaga mos kelmasligi mumkin mahsulotlar va xizmatlar uchun e'tiborga loyiqligi bo'yicha ko'rsatmalar. (2015 yil avgust) (Ushbu shablon xabarini qanday va qachon olib tashlashni bilib oling) |
Bu maqola uchun qo'shimcha iqtiboslar kerak tekshirish. (2015 yil avgust) (Ushbu shablon xabarini qanday va qachon olib tashlashni bilib oling) |
GIWS a o'rash generatori qo'ng'iroqni soddalashtirish uchun mo'ljallangan Java dan C yoki C ++ avtomatik ravishda zarur ishlab chiqarish orqali JNI kod.
GIWS ostida CeCILL litsenziya.
Misol
Quyidagi Java klassi oddiy hisoblashni amalga oshiradi.
paket basic_example;Import java.lang.Math;jamoat sinf MyComplexClass{ jamoat MyComplexClass(){ // konstruktor } jamoat uzoq myVeryComplexComputation(ikki baravar a, ikki baravar b){ qaytish Matematika.dumaloq(Matematika.cos(a)+Matematika.gunoh(b)*9); } }GIWS uni C ++ dan qo'ng'iroq qilish imkoniyatini beradi.
# shu jumladan <iostream># shu jumladan "basic_example.hxx"# shu jumladan <jni.h>JavaVM* yaratish_vm() { JavaVM* jvm; JNIEnv* env; JavaVMInitArgs kamon; JavaVMOption imkoniyatlari[2]; kamon.versiyasi = JNI_VERSION_1_4; kamon.variantlar = 2; imkoniyatlari[0].optionString = const_cast<char*>("-Djava.class.path =."); imkoniyatlari[1].optionString = const_cast<char*>("-Xcheck: jni"); kamon.imkoniyatlari = imkoniyatlari; kamon.e'tiborsiz qoldiring = JNI_FALSE; JNI_CreateJavaVM(&jvm, (bekor **)&env, &kamon); qaytish jvm;}foydalanish ism maydoni basic_example;foydalanish ism maydoni std;int asosiy(){ JavaVM* jvm = yaratish_vm(); MyComplexClass *testOfMyClass = yangi MyComplexClass(jvm); cout << "Mening hisobim:" << testOfMyClass->myVeryComplexComputation(1.2,80) << endl; qaytish 0; }Majburiylikni yaratish uchun GIWS XML deklaratsiyasidan foydalanadi. GIWS Java ob'ektiga qo'ng'iroq qilish uchun JNI kodini yaratadi.
ism ="basic_example"> ism ="MyComplexClass"> ism ="myVeryComplexComputation" returnType ="uzoq"> turi ="ikki kishilik" ism ="a" /> turi ="ikki kishilik" ism ="b" /> </method> </object></package> Shuningdek qarang
- SWIG yuqori darajadagi tillardan C yoki C ++ ga qo'ng'iroq qilishga imkon beradi
Tashqi havolalar
| Bu dasturlash vositasibilan bog'liq maqola a naycha. Siz Vikipediyaga yordam berishingiz mumkin uni kengaytirish. |