网站建设综合实训设计报告,竞价出价怎么出,济南网站建设小程序,网站管理问题工程结构
.
├── build
├── build-profile.json5
├── hvigorfile.ts
├── libs
│ └── armeabi-v7a
├── oh-package.json5
├── oh_modules
│ └── types
│ └── libentry.so - ../../src/main/cpp/types/libentry
└── src├── ma…工程结构
.
├── build
├── build-profile.json5
├── hvigorfile.ts
├── libs
│ └── armeabi-v7a
├── oh-package.json5
├── oh_modules
│ └── types
│ └── libentry.so - ../../src/main/cpp/types/libentry
└── src├── main│ ├── cpp│ │ ├── CMakeLists.txt│ │ ├── hello.cpp│ │ └── types│ │ └── libentry│ │ ├── index.d.ts│ │ └── oh-package.json5│ ├── ets│ │ ├── entryability│ │ │ └── EntryAbility.ts│ │ └── pages│ │ └── Index.ets│ ├── module.json5│ └── resources│ ├── base│ │ ├── element│ │ │ ├── color.json│ │ │ └── string.json│ │ ├── media│ │ │ └── icon.png│ │ └── profile│ │ └── main_pages.json│ ├── en_US│ │ └── element│ │ └── string.json│ ├── rawfile│ └── zh_CN│ └── element│ └── string.jsonbuild目录用于存放构建相关的文件。build-profile.json5构建配置文件。hvigorfile.ts用于进行代码检查和格式化的配置文件。libs目录用于存放本地库文件。oh-package.json5应用程序的配置文件。oh_modules目录用于存放应用程序的模块文件。src目录用于存放应用程序的源代码和资源文件。 main目录主要的应用程序代码和资源文件。 cpp目录C代码文件。在这个目录下你通常会编写C代码来实现一些与底层操作系统或硬件相关的功能 CMakeLists.txtCMake构建脚本。该文件用于配置和管理C代码的构建过程包括定义编译选项、链接库等。hello.cpp示例C源代码文件。这是一个简单的示例文件可以包含应用程序的主要逻辑和功能实现。types/libentry/index.d.tsTypeScript声明文件。该文件描述了entry.cpp文件中导出函数的类型信息以便在TypeScript中进行类型安全的调用。 ets目录使用 ETSEnhanced TypeScript进行开发的文件。module.json5模块配置文件。resources目录 base/element/color.json颜色配置文件。该文件用于定义应用程序中使用的颜色可以通过名称引用这些颜色。base/element/string.json字符串配置文件。该文件用于定义应用程序中使用的文本字符串可以通过名称引用这些字符串从而实现多语言支持。base/media/icon.png图标文件。应用程序的图标文件在应用程序启动器等位置显示。base/profile/main_pages.json主页面配置文件。该文件用于定义应用程序的主页面包括页面名称、图标等信息。en_US/element/string.json英文字符串配置文件。如果应用程序支持多种语言则需要为每种语言都提供一个对应的字符串配置文件以方便进行多语言支持。rawfile目录原始文件目录。该目录用于存放一些不需要经过编译的文件例如一些音频或视频文件等。zh_CN/element/string.json中文字符串配置文件。与英文字符串配置文件类似该文件用于定义中文版本的字符串以实现多语言支持。
C部分
熟悉JNI的应该可以看出C接口的导出方式跟JNI类似env应该是做了一层封装。
#include napi/native_api.hstatic napi_value Add(napi_env env, napi_callback_info info)
{size_t requireArgc 2;size_t argc 2;napi_value args[2] {nullptr};napi_get_cb_info(env, info, argc, args , nullptr, nullptr);napi_valuetype valuetype0;napi_typeof(env, args[0], valuetype0);napi_valuetype valuetype1;napi_typeof(env, args[1], valuetype1);double value0;napi_get_value_double(env, args[0], value0);double value1;napi_get_value_double(env, args[1], value1);napi_value sum;napi_create_double(env, value0 value1, sum);return sum;}EXTERN_C_START
static napi_value Init(napi_env env, napi_value exports)
{napi_property_descriptor desc[] {{ add, nullptr, Add, nullptr, nullptr, nullptr, napi_default, nullptr }};napi_define_properties(env, exports, sizeof(desc) / sizeof(desc[0]), desc);return exports;
}
EXTERN_C_ENDstatic napi_module demoModule {.nm_version 1,.nm_flags 0,.nm_filename nullptr,.nm_register_func Init,.nm_modname entry,.nm_priv ((void*)0),.reserved { 0 },
};extern C __attribute__((constructor)) void RegisterEntryModule(void)
{napi_module_register(demoModule);
}