diff --git a/zh-cn/application-dev/reference/native-api-intro.md b/zh-cn/application-dev/reference/native-api-intro.md index 8cfa3e0c5b6fc452a0a11eada676299faf6f7abf..55f992b6bfec3a14bae54414d9bfc2503ed800ae 100644 --- a/zh-cn/application-dev/reference/native-api-intro.md +++ b/zh-cn/application-dev/reference/native-api-intro.md @@ -1,15 +1,15 @@ # Native API(NDK)入门 -Native API是OpenHarmony SDK上提供的一组native开发接口与工具集合(也称为NDK),方便开发者使用C或者C++语言实现应用的关键功能。Native API只覆盖了OpenHarmony基础的一些底层能力,如libc,图形库,窗口系统,多媒体,压缩库等,并没有完全提供类似于JS API上的完整的OpenHarmony 平台能力。在应用中使用Native API会编译成动态库打包到应用中。 +Native API是OpenHarmony SDK上提供的一组native开发接口与工具集合(也称为NDK),方便开发者使用C或者C++语言实现应用的关键功能。Native API只覆盖了OHOS基础的一些底层能力,如libc,图形库,窗口系统,多媒体,压缩库等,并没有完全提供类似于JS API上的完整的OHOS 平台能力。在应用中使用Native API会编译成动态库打包到应用中。 ## 名词概念 |名词|名词解释| |--|--| -|Native API|OpenHarmony SDK里面native包提供的,面向三方应用开发的Native 接口以及相应编译脚本,编译工具链。包括C运行时基础库libc,3D图形库opengl,面向JS与C跨语言的接口Node-API等,具体内容详见下表。| -|NDK|Native Develop Kit的缩写,在OpenHarmony上就是Native API;Native API是官方名字,NDK指代相同意思。| -|SDK CAPI|OpenHarmony Native API中的C语言接口,以及工具链部分,当前OpenHarmony的Native API里面只包含C语言接口,因此Native API与CAPI意思一样,建议交流的时候使用CAPI,防止Native API与napi缩写混用。| -|Node-API|曾用名napi,是OpenHarmony中提供JS与C跨语言调用的接口,是Native API接口中的一部分. 该接口在Node.js提供的Node-API基础上扩展而来,但不完全与Node.js中的Node-API完全兼容。 | -|napi|Node-API的曾用名,当前Node-API头文件中的接口仍然以napi_开头,在OpenHarmony中统一用Node-API替换napi。| +|Native API|OHOS SDK里面native包提供的,面向三方应用开发的Native 接口以及相应编译脚本,编译工具链。包括C运行时基础库libc,3D图形库opengl,面向JS与C跨语言的接口Node-API等,具体内容详见下表。| +|NDK|Native Develop Kit的缩写,在OHOS上就是Native API;Native API是官方名字,NDK指代相同意思。| +|SDK CAPI|OHOS Native API中的C语言接口,以及工具链部分,当前OHOS的Native API里面只包含C语言接口,因此Native API与CAPI意思一样,建议交流的时候使用CAPI,防止Native API与napi缩写混用。| +|Node-API|曾用名napi,是OHOS中提供JS与C跨语言调用的接口,是Native API接口中的一部分. 该接口在Node.js提供的Node-API基础上扩展而来,但不完全与Node.js中的Node-API完全兼容。 | +|napi|Node-API的曾用名,当前Node-API头文件中的接口仍然以napi_开头,但是为了防止与Native API误用,不建议使用。| ## Native API构成介绍 ### Native API目录结构 @@ -18,18 +18,18 @@ Native API在SDK包的位置为$(SDK_ROOT)/native目录,主要有以下几个 |目录|功能说明| |--|--| -|build|应用中编译动态库的toolchain cmake脚本;这个目录下ohos.toolchain.cmake文件定义了给OpenHarmony交叉编译选项| +|build|应用中编译动态库的toolchain cmake脚本;这个目录下ohos.toolchain.cmake文件定义了给OHOS交叉编译选项| |build-tools|放置编译构建的工具,如cmake| |docs|Native API接口参考文档,通过doxgen从头文件中提取出来| -|llvm|支持OpenHarmony ABI的llvm交叉编译器| +|llvm|支持OHOS ABI的llvm交叉编译器| |sysroot|放置编译链接的依赖文件目录,包含头文件,动态库等| ### Native API接口 |接口分类|接口功能|引入版本| |--|--|--| -|标准C库|以musl为基础提供的标准c库接口,当前提供了1500+的接口|8| -|标准C++库|c++运行时库libc++_shared,此库在打包的时候需要打包或者静态链接到应用中|8| +|[标准C库](third_party_libc/musl.md)|以musl为基础提供的标准c库接口,当前提供了1500+的接口|8| +|[标准C++库](third_party_libc/cpp.md)|c++运行时库libc++_shared,此库在打包的时候需要打包或者静态链接到应用中|8| |日志|打印日志到系统的hilog接口|8| |Node-API|ArkUI提供的,方便应用开发接入JS应用环境的一组类Node-API(也叫napi),是属于Native API的一部分|8| |XComponent|ArkUI XComponent组件中的surface与触屏事件接口,方便开发者开发高性能图形应用|8| @@ -47,7 +47,7 @@ Native API在SDK包的位置为$(SDK_ROOT)/native目录,主要有以下几个 * 《[Native API参考手册](./native-apis/Readme-CN.md)》,介绍各个API参考手册 * 《[Native API中支持的标准库](../reference/native-lib/Readme-CN.md)》,介绍Native API支持的开源标准库 * 《[Native API开发指南](../napi/Readme-CN.md)》,结合具体的例子,场景介绍各类接口的使用 -* 《[使用NDK编译一个CMake C/C++工程文档](../quick-start/howto-migrate-cmake-with-ohosndk.md)》,介绍如何使用使用Native API开发一个CMake工程 +* 《[使用NDK编译一个Cmake C/C++工程文档](../quick-start/howto-migrate-cmake-with-ohosndk.md)》,介绍如何使用使用Native API开发一个Cmake工程 * 《[Node-API在应用工程中的使用指导](../napi/napi-guidelines.md)》, 如何使用Node-API接口 @@ -63,10 +63,10 @@ Native API在SDK包的位置为$(SDK_ROOT)/native目录,主要有以下几个 ### 不建议使用Native API的场景 -1. 写一个纯native的的OpenHarmony应用 -2. 希望在尽可能多的OpenHarmony设备上保持兼容的应用 +1. 写一个纯native的的OHOS应用 +2. 希望在尽可能多的OHOS设备上保持兼容的应用 -## 调试能力 +## 维测能力 -1. OpenHarmony官方提供lldb remote方式代码调试,详细参看《[lldb参考手册](https://gitee.com/openharmony/third_party_llvm-project/blob/master/lldb/README_zh.md)》 -2. musl库的log维测能力,请参看[libc库](./native-lib/third_party_libc/musl.md)调试能力章节 +1. OHOS官方提供lldb remote方式代码调试,详细参看《[lldb参考手册](https://gitee.com/openharmony/third_party_llvm-project/blob/master/lldb/README_zh.md)》 +2. musl库的log维测能力,请参看[libc库](./native-lib/third_party_libc/musl.md)维测章节