Jump to content

ГИВС (программное обеспечение)

GIWS — это генератор-оболочка, предназначенный для упрощения вызова Java из C или C++ путем автоматической генерации необходимого кода JNI .

GIWS выпускается под лицензией CeCILL .

Следующий класс Java выполняет некоторые простые вычисления.

package basic_example;import java.lang.Math;public class MyComplexClass{	public MyComplexClass(){		// the constructor	}	public long myVeryComplexComputation(double a, double b){		return Math.round(Math.cos(a)+Math.sin(b)*9);	}	}

GIWS дает возможность вызывать его из C++.

#include <iostream>#include "basic_example.hxx"#include <jni.h>JavaVM* create_vm() {	JavaVM* jvm;	JNIEnv* env;	JavaVMInitArgs args;	JavaVMOption options[2];	args.version = JNI_VERSION_1_4;	args.nOptions = 2;	options[0].optionString = const_cast<char*>("-Djava.class.path=.");	options[1].optionString = const_cast<char*>("-Xcheck:jni");	args.options = options;	args.ignoreUnrecognized = JNI_FALSE;	JNI_CreateJavaVM(&jvm, (void **)&env, &args);	return jvm;}using namespace basic_example;using namespace std;int main(){  	JavaVM* jvm = create_vm();	MyComplexClass *testOfMyClass = new MyComplexClass(jvm);	cout << "My Computation: "  << testOfMyClass->myVeryComplexComputation(1.2,80) << endl;	return 0;	}

Для создания привязки GIWS использует декларацию XML. GIWS сгенерирует код JNI для вызова объекта Java.

<package name="basic_example">  <object name="MyComplexClass">        <method name="myVeryComplexComputation" returnType="long">          <param type="double" name="a" />          <param type="double" name="b" />        </method>  </object></package>

См. также

[ редактировать ]
  • SWIG позволяет вызывать C или C++ из языков более высокого уровня.
[ редактировать ]


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: e348d20becb6373c55094c6ebc2595a2__1714170540
URL1:https://arc.ask3.ru/arc/aa/e3/a2/e348d20becb6373c55094c6ebc2595a2.html
Заголовок, (Title) документа по адресу, URL1:
GIWS (software) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)