本文整理汇总了C++中JLocalEnv::CallStaticObjectMethodA方法的典型用法代码示例。如果您正苦于以下问题:C++ JLocalEnv::CallStaticObjectMethodA方法的具体用法?C++ JLocalEnv::CallStaticObjectMethodA怎么用?C++ JLocalEnv::CallStaticObjectMethodA使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类JLocalEnv
的用法示例。
在下文中一共展示了JLocalEnv::CallStaticObjectMethodA方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getRuntime
extern "C" VALUE
rb_data_object_alloc(VALUE klass, void* data, RUBY_DATA_FUNC dmark, RUBY_DATA_FUNC dfree)
{
JLocalEnv env;
RubyData* h = new RubyData;
TAILQ_INSERT_TAIL(&dataHandles, h, dataList);
h->toRData()->data = data;
h->toRData()->dmark = dmark;
h->toRData()->dfree = dfree;
h->setType(T_DATA);
jvalue params[3];
params[0].l = getRuntime();
params[1].l = valueToObject(env, klass);
params[2].j = p2j(h);
jobject obj = env->CallStaticObjectMethodA(RubyData_class, RubyData_newRubyData_method, params);
checkExceptions(env);
h->obj = env->NewGlobalRef(obj);
checkExceptions(env);
return (VALUE) (uintptr_t) h;
}
示例2: RubyFloat
extern "C" VALUE
rb_float_new(double value)
{
JLocalEnv env;
//env->CallStaticObjectMethod();
RubyFloat* f = new RubyFloat(value);
jvalue params[3];
params[0].l = jruby::getRuntime();
params[1].j = p2j(f);
params[2].d = value;
jobject rubyFloat = env->CallStaticObjectMethodA(JRuby_class, JRuby_newFloat, params);
f->obj = env->NewGlobalRef(rubyFloat);
return f->asValue();
}