Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
69cbaa11
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
69cbaa11
编写于
6月 03, 2023
作者:
H
hhj
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update zh-cn/application-dev/reference/native-api-intro.md.
Signed-off-by:
N
hhj
<
huanghuijin@huawei.com
>
上级
ee051075
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
12 addition
and
8 deletion
+12
-8
zh-cn/application-dev/reference/native-api-intro.md
zh-cn/application-dev/reference/native-api-intro.md
+1
-1
zh-cn/application-dev/reference/native-lib/third_party_libc/cpp.md
...lication-dev/reference/native-lib/third_party_libc/cpp.md
+8
-4
zh-cn/application-dev/reference/native-lib/third_party_libc/musl.md
...ication-dev/reference/native-lib/third_party_libc/musl.md
+3
-3
未找到文件。
zh-cn/application-dev/reference/native-api-intro.md
浏览文件 @
69cbaa11
...
...
@@ -9,7 +9,7 @@ Native API是OpenHarmony SDK上提供的一组native开发接口与工具集合
|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误用,
不建议使用。|
|napi|Node-API的曾用名,当前Node-API头文件中的接口仍然以napi_开头,不建议使用。|
## Native API构成介绍
### Native API目录结构
...
...
zh-cn/application-dev/reference/native-lib/third_party_libc/cpp.md
浏览文件 @
69cbaa11
...
...
@@ -5,7 +5,7 @@ OpenHarmony当前使用的是llvm项目的C++标准库实现[libc++](https://lib
## 版本
10.
0.1
从OpenHarmony 3.0开始,libc++使用clang/llvm 10.0.1版本
从OpenHarmony 3.2开始,libc++升级到clang/llvm 12.0.1版本
...
...
@@ -15,7 +15,11 @@ OpenHarmony当前使用的是llvm项目的C++标准库实现[libc++](https://lib
C++11、C++14标准已完全支持,C++17和C++20标准正在完善。具体语言特性支持标准可以参考
[
https://libcxx.llvm.org/
](
https://libcxx.llvm.org/
)
网站对应的ReleaseNotes。
## ABI兼容
在OpenHarmony系统中,系统框架与应用Native库都在使用C++标准库,两部分依赖的版本是不一样的。系统框架依赖的C++标准库随镜像版本升级,而应用依赖的C++标准库随编译使用的SDK版本升级,两部分依赖的C++基础库会跨多个大版本,会产生ABI兼容性。为了解决此问题,OpenHarmony上把两部分依赖的C++标准库进行了区分,系统库使用libc++.so,应用使用应用包内提供的libc++_shared.so;两个库使用的C++命名空间不一样,libc++_shared.so使用__n1作为C++符号的命名空间,libc++.so使用__h作为C++符号的命名空间。
## ABI(application binary interface)兼容
在OpenHarmony系统中,系统库与应用Native库都在使用C++标准库,两部分依赖的版本是不一样的。系统库依赖的C++标准库随镜像版本升级,而应用Native库依赖的C++标准库随编译使用的SDK版本升级,两部分依赖的C++基础库会跨多个大版本,产生ABI兼容性问题。为了解决此问题,OpenHarmony上把两部分依赖的C++标准库进行了区分。
*
系统库:使用libc++.so, 随系统镜像发布
*
应用Native库:使用libc++_shared.so,随应用发布
两边使用的C++标准库不能进行混用,Native API接口当前只能是C接口,可以通过这个接口隔离两边的C++运行环境。
\ No newline at end of file
两个库使用的C++命名空间不一样,libc++_shared.so使用__n1作为C++符号的命名空间,libc++.so使用__h作为C++符号的命名空间。
注意:两边使用的C++标准库不能进行混用,Native API接口当前只能是C接口,可以通过这个接口隔离两边的C++运行环境。
\ No newline at end of file
zh-cn/application-dev/reference/native-lib/third_party_libc/musl.md
浏览文件 @
69cbaa11
...
...
@@ -5,7 +5,7 @@ C标准函数库在C语言程序设计中,提供符合标准的头文件,以
OpenHarmony采用musl作为C标准库,musl库是一个轻量,快速,简单,免费的开源libc库,详细介绍参考
[
musl官方参考手册
](
http://musl.libc.org/manual.html
)
。
musl与glibc的差异点请参考
[
wiki
](
https://wiki.musl-libc.org/functional-differences-from-glibc.html
)
。
musl与glibc的差异点请参考
[
musl与glibc功能对比
](
https://wiki.musl-libc.org/functional-differences-from-glibc.html
)
。
## 标准C库组件介绍
...
...
@@ -38,13 +38,13 @@ libdl:dlopen等动态链接器接口,当前在OpenHarmony中是一个链接
提供了基础的log调试能力,方便开发者需要查看libc库内部异常。维测log的提供动态开关功能,不需要重新编译。在正式发布版本中,不建议使用,会影响运行性能。
#### 1. musl.log功能
通过hdc shell设置musl.log.enable属性为true来打开musl的log打印。这个接口是libc库里面别的日志的基础
。
设置musl.log.enable属性为true,打开musl的log打印。打印其他日志,需要先打开此开关
。
```
setparam musl.log.enable true
```
#### 2. 加载器log功能
如果需要程序引导,dlopen,dlclose等接口的日志,需要打开加载器log;这些log通过musl.log.ld.
*
param来设置。
调试程序引导,dlopen,dlclose等加载器接口,需要打开加载器log。用法如下:
*
使能全部应用的加载器log,谨慎使用
```
setparam musl.log.ld.app true
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录