未验证 提交 45830fda 编写于 作者: O openharmony_ci 提交者: Gitee

!6135 [翻译完成】#I5BCSN

Merge pull request !6135 from Annie_wang/PR5121
# Standard Libraries Supported by Native APIs
# Native Standard Libraries Supported by OpenHarmony
## Introduction
## Overview
......@@ -12,20 +12,22 @@
| :-------- | :----------------------------------------------------------- |
| C standard library | C11 standard library implemented by [libc, libm, and libdl](https://en.cppreference.com/w/c/header). |
| C++ standard library ([libc++](https://libcxx.llvm.org/))| An implementation of the C++ standard library. |
| [OpenSL ES](https://www.khronos.org/registry/OpenSL-ES/)| An embedded cross-platform audio processing library.|
| Open Sound Library for Embedded Systems ([OpenSL ES](https://www.khronos.org/registry/OpenSL-ES/))| An embedded, cross-platform audio processing library.|
| [zlib](https://zlib.net/) | A general data compression library implemented in C/C++.|
| [EGL](https://www.khronos.org/egl/) | A standard software interface between rendering APIs and the underlying native window system.|
| Open Graphics Library for Embedded Systems ([OpenGL ES](https://www.khronos.org/opengles/))| A cross-platform software interface for rendering 3D graphics on embedded and mobile systems.|
## C Standard Library
C11 standard library implemented by [libc, libm, and libdl](https://en.cppreference.com/w/c/header).
The C standard library is a C11 standard library implemented by:
libc: provides thread-related functions and a majority of standard functions.
libm: provides basic mathematical functions.
libdl: provides functions related to dynamic linking, such as dlopen.
libdl: provides functions related to dynamic linking, such as **dlopen**.
**Version**
......@@ -39,7 +41,7 @@ C standard library includes a set of header files in accordance with standard C
[Native API Symbols Not Exported](musl-peculiar-symbol.md)
## C++ Standard Library
## libc++
......@@ -57,7 +59,7 @@ The C++11 and C++14 standards are supported, and the C++17 and C++20 standards a
[OpenSL ES](https://www.khronos.org/registry/OpenSL-ES/) is an embedded cross-platform audio processing library.
[OpenSL ES](https://www.khronos.org/registry/OpenSL-ES/) is an embedded, cross-platform audio processing library.
......@@ -66,3 +68,31 @@ The C++11 and C++14 standards are supported, and the C++17 and C++20 standards a
[zlib](https://zlib.net/) is a general data compression library implemented in C/C++.
## EGL
EGL is an interface between Khronos rendering APIs (such as OpenGL ES and OpenVG) and the underlying native window system. OpenHarmony supports EGL.
**Symbols Exported from the Standard Library**
[EGL Symbols Exported from Native APIs](../third_party_opengl/egl-symbol.md)
## OpenGL ES
OpenGL is a cross-platform software interface for 3D graphics processing. [OpenGL ES](https://www.khronos.org/opengles/) is a OpenGL specification for embedded devices. OpenHarmony supports OpenGL ES 3.0.
**Capabilities**
OpenGL ES 3.0
**Symbols Exported from the Standard Library**
[OpenGL ES 3.0 Symbols Exported from Native APIs](../third_party_opengl/openglesv3-symbol.md)
**EGL Symbols Exported from Native APIs**
|Type|Symbol|Remarks|
| --- | --- | --- |
|FUNC|eglChooseConfig|
|FUNC|eglCopyBuffers|
|FUNC|eglCreateContext|
|FUNC|eglCreatePbufferSurface|
|FUNC|eglCreatePixmapSurface|
|FUNC|eglCreateWindowSurface|
|FUNC|eglDestroyContext|
|FUNC|eglDestroySurface|
|FUNC|eglGetConfigAttrib|
|FUNC|eglGetConfigs|
|FUNC|eglGetCurrentDisplay|
|FUNC|eglGetCurrentSurface|
|FUNC|eglGetDisplay|
|FUNC|eglGetError|
|FUNC|eglGetProcAddress|
|FUNC|eglInitialize|
|FUNC|eglMakeCurrent|
|FUNC|eglQueryContext|
|FUNC|eglQueryString|
|FUNC|eglQuerySurface|
|FUNC|eglSwapBuffers|
|FUNC|eglTerminate|
|FUNC|eglWaitGL|
|FUNC|eglWaitNative|
|FUNC|eglBindTexImage|
|FUNC|eglReleaseTexImage|
|FUNC|eglSurfaceAttrib|
|FUNC|eglSwapInterval|
|FUNC|eglBindAPI|
|FUNC|eglQueryAPI|
|FUNC|eglCreatePbufferFromClientBuffer|
|FUNC|eglReleaseThread|
|FUNC|eglWaitClient|
|FUNC|eglGetCurrentContext|
|FUNC|eglCreateSync|
|FUNC|eglDestroySync|
|FUNC|eglClientWaitSync|
|FUNC|eglGetSyncAttrib|
|FUNC|eglCreateImage|
|FUNC|eglDestroyImage|
|FUNC|eglGetPlatformDisplay|
|FUNC|eglCreatePlatformWindowSurface|
|FUNC|eglCreatePlatformPixmapSurface|
|FUNC|eglWaitSync|
**OpenGL ES 3.0 Symbols Exported from Native APIs**
|Type|Symbol|Remarks|
| --- | --- | --- |
|FUNC|glActiveShaderProgram|
|FUNC|glActiveTexture|
|FUNC|glAttachShader|
|FUNC|glBeginQuery|
|FUNC|glBeginTransformFeedback|
|FUNC|glBindAttribLocation|
|FUNC|glBindBuffer|
|FUNC|glBindBufferBase|
|FUNC|glBindBufferRange|
|FUNC|glBindFramebuffer|
|FUNC|glBindImageTexture|
|FUNC|glBindProgramPipeline|
|FUNC|glBindRenderbuffer|
|FUNC|glBindSampler|
|FUNC|glBindTexture|
|FUNC|glBindTransformFeedback|
|FUNC|glBindVertexArray|
|FUNC|glBindVertexBuffer|
|FUNC|glBlendBarrier|
|FUNC|glBlendColor|
|FUNC|glBlendEquation|
|FUNC|glBlendEquationi|
|FUNC|glBlendEquationSeparate|
|FUNC|glBlendEquationSeparatei|
|FUNC|glBlendFunc|
|FUNC|glBlendFunci|
|FUNC|glBlendFuncSeparate|
|FUNC|glBlendFuncSeparatei|
|FUNC|glBlitFramebuffer|
|FUNC|glBufferData|
|FUNC|glBufferSubData|
|FUNC|glCheckFramebufferStatus|
|FUNC|glClear|
|FUNC|glClearBufferfi|
|FUNC|glClearBufferfv|
|FUNC|glClearBufferiv|
|FUNC|glClearBufferuiv|
|FUNC|glClearColor|
|FUNC|glClearDepthf|
|FUNC|glClearStencil|
|FUNC|glClientWaitSync|
|FUNC|glColorMask|
|FUNC|glColorMaski|
|FUNC|glCompileShader|
|FUNC|glCompressedTexImage2D|
|FUNC|glCompressedTexImage3D|
|FUNC|glCompressedTexSubImage2D|
|FUNC|glCompressedTexSubImage3D|
|FUNC|glCopyBufferSubData|
|FUNC|glCopyImageSubData|
|FUNC|glCopyTexImage2D|
|FUNC|glCopyTexSubImage2D|
|FUNC|glCopyTexSubImage3D|
|FUNC|glCreateProgram|
|FUNC|glCreateShader|
|FUNC|glCreateShaderProgramv|
|FUNC|glCullFace|
|FUNC|glDebugMessageCallback|
|FUNC|glDebugMessageControl|
|FUNC|glDebugMessageInsert|
|FUNC|glDeleteBuffers|
|FUNC|glDeleteFramebuffers|
|FUNC|glDeleteProgram|
|FUNC|glDeleteProgramPipelines|
|FUNC|glDeleteQueries|
|FUNC|glDeleteRenderbuffers|
|FUNC|glDeleteSamplers|
|FUNC|glDeleteShader|
|FUNC|glDeleteSync|
|FUNC|glDeleteTextures|
|FUNC|glDeleteTransformFeedbacks|
|FUNC|glDeleteVertexArrays|
|FUNC|glDepthFunc|
|FUNC|glDepthMask|
|FUNC|glDepthRangef|
|FUNC|glDetachShader|
|FUNC|glDisable|
|FUNC|glDisablei|
|FUNC|glDisableVertexAttribArray|
|FUNC|glDispatchCompute|
|FUNC|glDispatchComputeIndirect|
|FUNC|glDrawArrays|
|FUNC|glDrawArraysIndirect|
|FUNC|glDrawArraysInstanced|
|FUNC|glDrawBuffers|
|FUNC|glDrawElements|
|FUNC|glDrawElementsBaseVertex|
|FUNC|glDrawElementsIndirect|
|FUNC|glDrawElementsInstanced|
|FUNC|glDrawElementsInstancedBaseVertex|
|FUNC|glDrawRangeElements|
|FUNC|glDrawRangeElementsBaseVertex|
|FUNC|glEnable|
|FUNC|glEnablei|
|FUNC|glEnableVertexAttribArray|
|FUNC|glEndQuery|
|FUNC|glEndTransformFeedback|
|FUNC|glFenceSync|
|FUNC|glFinish|
|FUNC|glFlush|
|FUNC|glFlushMappedBufferRange|
|FUNC|glFramebufferParameteri|
|FUNC|glFramebufferRenderbuffer|
|FUNC|glFramebufferTexture|
|FUNC|glFramebufferTexture2D|
|FUNC|glFramebufferTextureLayer|
|FUNC|glFrontFace|
|FUNC|glGenBuffers|
|FUNC|glGenerateMipmap|
|FUNC|glGenFramebuffers|
|FUNC|glGenProgramPipelines|
|FUNC|glGenQueries|
|FUNC|glGenRenderbuffers|
|FUNC|glGenSamplers|
|FUNC|glGenTextures|
|FUNC|glGenTransformFeedbacks|
|FUNC|glGenVertexArrays|
|FUNC|glGetActiveAttrib|
|FUNC|glGetActiveUniform|
|FUNC|glGetActiveUniformBlockiv|
|FUNC|glGetActiveUniformBlockName|
|FUNC|glGetActiveUniformsiv|
|FUNC|glGetAttachedShaders|
|FUNC|glGetAttribLocation|
|FUNC|glGetBooleani_v|
|FUNC|glGetBooleanv|
|FUNC|glGetBufferParameteri64v|
|FUNC|glGetBufferParameteriv|
|FUNC|glGetBufferPointerv|
|FUNC|glGetDebugMessageLog|
|FUNC|glGetError|
|FUNC|glGetFloatv|
|FUNC|glGetFragDataLocation|
|FUNC|glGetFramebufferAttachmentParameteriv|
|FUNC|glGetFramebufferParameteriv|
|FUNC|glGetGraphicsResetStatus|
|FUNC|glGetInteger64i_v|
|FUNC|glGetInteger64v|
|FUNC|glGetIntegeri_v|
|FUNC|glGetIntegerv|
|FUNC|glGetInternalformativ|
|FUNC|glGetMultisamplefv|
|FUNC|glGetnUniformfv|
|FUNC|glGetnUniformiv|
|FUNC|glGetnUniformuiv|
|FUNC|glGetObjectLabel|
|FUNC|glGetObjectPtrLabel|
|FUNC|glGetPointerv|
|FUNC|glGetProgramBinary|
|FUNC|glGetProgramInfoLog|
|FUNC|glGetProgramInterfaceiv|
|FUNC|glGetProgramiv|
|FUNC|glGetProgramPipelineInfoLog|
|FUNC|glGetProgramPipelineiv|
|FUNC|glGetProgramResourceIndex|
|FUNC|glGetProgramResourceiv|
|FUNC|glGetProgramResourceLocation|
|FUNC|glGetProgramResourceName|
|FUNC|glGetQueryiv|
|FUNC|glGetQueryObjectuiv|
|FUNC|glGetRenderbufferParameteriv|
|FUNC|glGetSamplerParameterfv|
|FUNC|glGetSamplerParameterIiv|
|FUNC|glGetSamplerParameterIuiv|
|FUNC|glGetSamplerParameteriv|
|FUNC|glGetShaderInfoLog|
|FUNC|glGetShaderiv|
|FUNC|glGetShaderPrecisionFormat|
|FUNC|glGetShaderSource|
|FUNC|glGetString|
|FUNC|glGetStringi|
|FUNC|glGetSynciv|
|FUNC|glGetTexLevelParameterfv|
|FUNC|glGetTexLevelParameteriv|
|FUNC|glGetTexParameterfv|
|FUNC|glGetTexParameterIiv|
|FUNC|glGetTexParameterIuiv|
|FUNC|glGetTexParameteriv|
|FUNC|glGetTransformFeedbackVarying|
|FUNC|glGetUniformBlockIndex|
|FUNC|glGetUniformfv|
|FUNC|glGetUniformIndices|
|FUNC|glGetUniformiv|
|FUNC|glGetUniformLocation|
|FUNC|glGetUniformuiv|
|FUNC|glGetVertexAttribfv|
|FUNC|glGetVertexAttribIiv|
|FUNC|glGetVertexAttribIuiv|
|FUNC|glGetVertexAttribiv|
|FUNC|glGetVertexAttribPointerv|
|FUNC|glHint|
|FUNC|glInvalidateFramebuffer|
|FUNC|glInvalidateSubFramebuffer|
|FUNC|glIsBuffer|
|FUNC|glIsEnabled|
|FUNC|glIsEnabledi|
|FUNC|glIsFramebuffer|
|FUNC|glIsProgram|
|FUNC|glIsProgramPipeline|
|FUNC|glIsQuery|
|FUNC|glIsRenderbuffer|
|FUNC|glIsSampler|
|FUNC|glIsShader|
|FUNC|glIsSync|
|FUNC|glIsTexture|
|FUNC|glIsTransformFeedback|
|FUNC|glIsVertexArray|
|FUNC|glLineWidth|
|FUNC|glLinkProgram|
|FUNC|glMapBufferRange|
|FUNC|glMemoryBarrier|
|FUNC|glMemoryBarrierByRegion|
|FUNC|glMinSampleShading|
|FUNC|glObjectLabel|
|FUNC|glObjectPtrLabel|
|FUNC|glPatchParameteri|
|FUNC|glPauseTransformFeedback|
|FUNC|glPixelStorei|
|FUNC|glPolygonOffset|
|FUNC|glPopDebugGroup|
|FUNC|glPrimitiveBoundingBox|
|FUNC|glProgramBinary|
|FUNC|glProgramParameteri|
|FUNC|glProgramUniform1f|
|FUNC|glProgramUniform1fv|
|FUNC|glProgramUniform1i|
|FUNC|glProgramUniform1iv|
|FUNC|glProgramUniform1ui|
|FUNC|glProgramUniform1uiv|
|FUNC|glProgramUniform2f|
|FUNC|glProgramUniform2fv|
|FUNC|glProgramUniform2i|
|FUNC|glProgramUniform2iv|
|FUNC|glProgramUniform2ui|
|FUNC|glProgramUniform2uiv|
|FUNC|glProgramUniform3f|
|FUNC|glProgramUniform3fv|
|FUNC|glProgramUniform3i|
|FUNC|glProgramUniform3iv|
|FUNC|glProgramUniform3ui|
|FUNC|glProgramUniform3uiv|
|FUNC|glProgramUniform4f|
|FUNC|glProgramUniform4fv|
|FUNC|glProgramUniform4i|
|FUNC|glProgramUniform4iv|
|FUNC|glProgramUniform4ui|
|FUNC|glProgramUniform4uiv|
|FUNC|glProgramUniformMatrix2fv|
|FUNC|glProgramUniformMatrix2x3fv|
|FUNC|glProgramUniformMatrix2x4fv|
|FUNC|glProgramUniformMatrix3fv|
|FUNC|glProgramUniformMatrix3x2fv|
|FUNC|glProgramUniformMatrix3x4fv|
|FUNC|glProgramUniformMatrix4fv|
|FUNC|glProgramUniformMatrix4x2fv|
|FUNC|glProgramUniformMatrix4x3fv|
|FUNC|glPushDebugGroup|
|FUNC|glReadBuffer|
|FUNC|glReadnPixels|
|FUNC|glReadPixels|
|FUNC|glReleaseShaderCompiler|
|FUNC|glRenderbufferStorage|
|FUNC|glRenderbufferStorageMultisample|
|FUNC|glResumeTransformFeedback|
|FUNC|glSampleCoverage|
|FUNC|glSampleMaski|
|FUNC|glSamplerParameterf|
|FUNC|glSamplerParameterfv|
|FUNC|glSamplerParameteri|
|FUNC|glSamplerParameterIiv|
|FUNC|glSamplerParameterIuiv|
|FUNC|glSamplerParameteriv|
|FUNC|glScissor|
|FUNC|glShaderBinary|
|FUNC|glShaderSource|
|FUNC|glStencilFunc|
|FUNC|glStencilFuncSeparate|
|FUNC|glStencilMask|
|FUNC|glStencilMaskSeparate|
|FUNC|glStencilOp|
|FUNC|glStencilOpSeparate|
|FUNC|glTexBuffer|
|FUNC|glTexBufferRange|
|FUNC|glTexImage2D|
|FUNC|glTexImage3D|
|FUNC|glTexParameterf|
|FUNC|glTexParameterfv|
|FUNC|glTexParameteri|
|FUNC|glTexParameterIiv|
|FUNC|glTexParameterIuiv|
|FUNC|glTexParameteriv|
|FUNC|glTexStorage2D|
|FUNC|glTexStorage2DMultisample|
|FUNC|glTexStorage3D|
|FUNC|glTexStorage3DMultisample|
|FUNC|glTexSubImage2D|
|FUNC|glTexSubImage3D|
|FUNC|glTransformFeedbackVaryings|
|FUNC|glUniform1f|
|FUNC|glUniform1fv|
|FUNC|glUniform1i|
|FUNC|glUniform1iv|
|FUNC|glUniform1ui|
|FUNC|glUniform1uiv|
|FUNC|glUniform2f|
|FUNC|glUniform2fv|
|FUNC|glUniform2i|
|FUNC|glUniform2iv|
|FUNC|glUniform2ui|
|FUNC|glUniform2uiv|
|FUNC|glUniform3f|
|FUNC|glUniform3fv|
|FUNC|glUniform3i|
|FUNC|glUniform3iv|
|FUNC|glUniform3ui|
|FUNC|glUniform3uiv|
|FUNC|glUniform4f|
|FUNC|glUniform4fv|
|FUNC|glUniform4i|
|FUNC|glUniform4iv|
|FUNC|glUniform4ui|
|FUNC|glUniform4uiv|
|FUNC|glUniformBlockBinding|
|FUNC|glUniformMatrix2fv|
|FUNC|glUniformMatrix2x3fv|
|FUNC|glUniformMatrix2x4fv|
|FUNC|glUniformMatrix3fv|
|FUNC|glUniformMatrix3x2fv|
|FUNC|glUniformMatrix3x4fv|
|FUNC|glUniformMatrix4fv|
|FUNC|glUniformMatrix4x2fv|
|FUNC|glUniformMatrix4x3fv|
|FUNC|glUnmapBuffer|
|FUNC|glUseProgram|
|FUNC|glUseProgramStages|
|FUNC|glValidateProgram|
|FUNC|glValidateProgramPipeline|
|FUNC|glVertexAttrib1f|
|FUNC|glVertexAttrib1fv|
|FUNC|glVertexAttrib2f|
|FUNC|glVertexAttrib2fv|
|FUNC|glVertexAttrib3f|
|FUNC|glVertexAttrib3fv|
|FUNC|glVertexAttrib4f|
|FUNC|glVertexAttrib4fv|
|FUNC|glVertexAttribBinding|
|FUNC|glVertexAttribDivisor|
|FUNC|glVertexAttribFormat|
|FUNC|glVertexAttribI4i|
|FUNC|glVertexAttribI4iv|
|FUNC|glVertexAttribI4ui|
|FUNC|glVertexAttribI4uiv|
|FUNC|glVertexAttribIFormat|
|FUNC|glVertexAttribIPointer|
|FUNC|glVertexAttribPointer|
|FUNC|glVertexBindingDivisor|
|FUNC|glViewport|
|FUNC|glWaitSync|
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册