代码拉取完成,页面将自动刷新
同步操作将从 Xingwa/ani_cookbook 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#include <ani.h>
#include <array>
#include <iostream>
static void callWithRecord([[maybe_unused]] ani_env *env, [[maybe_unused]] ani_object object, ani_object record)
{
ani_class recordCls;
const char * recordClassName = "Lescompat/Record;";
if (ANI_OK != env->FindClass(recordClassName, &recordCls)) {
std::cerr << "Not found '" << recordClassName << "'" << std::endl;
return ;
}
ani_method recordGetMethod;
if (ANI_OK != env->Class_GetMethod(recordCls, "get", "Lstd/core/Object;:Lstd/core/Object;", &recordGetMethod)){
std::cerr << "Class_GetMethod Failed '" << recordClassName << "'" << std::endl;
return ;
}
ani_string name;
if (ANI_OK !=env->String_NewUTF8("Chloe", 5, &name)){
std::cerr << "String_NewUTF8 Failed '" << "Chloe" << "'" << std::endl;
return ;
}
ani_ref person;
if (ANI_OK != env->Object_CallMethod_Ref(object, recordGetMethod, &person, name)){
std::cerr << "Object_CallMethod_Ref '" << "recordGetMethod" << "'" << std::endl;
return ;
}
return;
}
ANI_EXPORT ani_status ANI_Constructor(ani_vm *vm, uint32_t *result)
{
ani_env *env;
if (ANI_OK != vm->GetEnv(ANI_VERSION_1, &env)) {
std::cerr << "Unsupported ANI_VERSION_1" << std::endl;
return ANI_ERROR;
}
static const char *className = "Lani_record/Foo;";
ani_class cls;
if (ANI_OK != env->FindClass(className, &cls)) {
std::cerr << "Not found '" << className << "'" << std::endl;
return ANI_ERROR;
}
std::array methods = {
ani_native_function {"callWithRecord", "Lescompat/Record;:V", reinterpret_cast<void *>(callWithRecord)},
};
std::cout << "Start bind native methods to '" << className << "'" << std::endl;
if (ANI_OK != env->Class_BindNativeMethods(cls, methods.data(), methods.size())) {
std::cerr << "Cannot bind native methods to '" << className << "'" << std::endl;
return ANI_ERROR;
};
std::cout << "Finish bind native methods to '" << className << "'" << std::endl;
*result = ANI_VERSION_1;
return ANI_OK;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。