diff --git a/rt-thread-version/rt-thread-standard/_sidebar.md b/rt-thread-version/rt-thread-standard/_sidebar.md index 0165677c4bf037040c03f160022b9610807f9893..47a4a62244cac5b0e1013cfe74701f3aaf93c918 100644 --- a/rt-thread-version/rt-thread-standard/_sidebar.md +++ b/rt-thread-version/rt-thread-standard/_sidebar.md @@ -59,11 +59,11 @@ - [编译器配平层](/rt-thread-version/rt-thread-standard/programming-manual/libc/compiler.md) - POSIX - [简介](/rt-thread-version/rt-thread-standard/programming-manual/libc/posix/introduction.md) - - [FILE](/rt-thread-version/rt-thread-standard/programming-manual/libc/posix/posix-file.md) - - [Pthread](/rt-thread-version/rt-thread-standard/programming-manual/libc/posix/posix-pthread.md) - - [Timer](/rt-thread-version/rt-thread-standard/programming-manual/libc/posix/posix-timer.md) - - [IPC semaphore](/rt-thread-version/rt-thread-standard/programming-manual/libc/posix/posix-ipc-semaphore.md) - - [IPC messages](/rt-thread-version/rt-thread-standard/programming-manual/libc/posix/posix-ipc-message.md) + - [FILE(文件IO)](/rt-thread-version/rt-thread-standard/programming-manual/libc/posix/posix-file.md) + - [Pthread(线程)](/rt-thread-version/rt-thread-standard/programming-manual/libc/posix/posix-pthread.md) + - [Timer(时间函数)](/rt-thread-version/rt-thread-standard/programming-manual/libc/posix/posix-timer.md) + - [IPC semaphore(信号量)](/rt-thread-version/rt-thread-standard/programming-manual/libc/posix/posix-ipc-semaphore.md) + - [IPC messages(消息队列)](/rt-thread-version/rt-thread-standard/programming-manual/libc/posix/posix-ipc-message.md) - [动态模块](/rt-thread-version/rt-thread-standard/programming-manual/libc/posix/dlmodule.md) - 网络组件 - [net 组件总概](/rt-thread-version/rt-thread-standard/programming-manual/net/net_introduce.md) diff --git a/rt-thread-version/rt-thread-standard/programming-manual/libc/figures/libc_structure.png b/rt-thread-version/rt-thread-standard/programming-manual/libc/figures/libc_structure.png index 93c8985afb8a5717e0566821a4eeb9d83e386401..bf60f9c84be5bc9025e65b35049757adc0b3761c 100644 Binary files a/rt-thread-version/rt-thread-standard/programming-manual/libc/figures/libc_structure.png and b/rt-thread-version/rt-thread-standard/programming-manual/libc/figures/libc_structure.png differ diff --git a/rt-thread-version/rt-thread-standard/programming-manual/libc/introduction.md b/rt-thread-version/rt-thread-standard/programming-manual/libc/introduction.md index ac8e148fecad08e225f4dfa1e6f4a9d01f130bbf..8fa295b32d1ad3000bc245f1d379837ea76643b5 100644 --- a/rt-thread-version/rt-thread-standard/programming-manual/libc/introduction.md +++ b/rt-thread-version/rt-thread-standard/programming-manual/libc/introduction.md @@ -4,11 +4,11 @@ RT-Thread 提供的 LIBC (C library, C库),包含编译器配平层和 POSIX ![libc_structure](figures/libc_structure.png) -由于在不同的平台开发所使用的编译工具链不一致;所以在实现时,RT-Thread 区分了三个概念:**广义的 POSIX**,**狭隘的 POSIX**,**编译器配平层**;下面结合关系图,描述一下对应的概念: +由于在不同的平台开发所使用的编译工具链不一致;所以在实现时,RT-Thread 区分了三个概念:**POSIX标准**,**ISO-ANSI 标准**,**编译器配平层**;下面结合关系图,描述一下对应的概念: -* 广义的 POSIX ,即 POSIX 接口;这里面包含了一些关于 pthread, signal, IPC 等函数以及 C 库的相关内容; -* 狭隘的 POSIX,即不是 C 库标准提供以外的 POSIX 函数,例如 pthread 这些内容; -* 编译器配平层,由 C 库相关提供的函数。由于不同编译平台对该内容的实现参差不齐,因此需要针对不同的编译平台增补这些函数。这也就是 “ 配平 ” 的由来。这块内容较多,且不同的编译工具链所支持的操作不一,因此在 POSIX 代码迁移时需要修改这里来解决对应的编译错误。 +* POSIX 标准,即 POSIX 接口;这里面包含了一些关于 pthread, signal, IPC 等函数以及 C 库,数学库的相关内容; +* ISO-ANSI 标准,即 POSIX.1 的子集。这些主要由一些编译工具链提供,较为常见的就是 KEIL 提供的 ARMCC, IAR 提供的 IARCC;不能说他们没有提供 POSIX 函数,提供了但是仅包含 ISO-ANSI 标准。 +* 编译器配平层,由于不同编译工具链对 POSIX 内容的实现参差不齐,因此需要针对不同的编译平台增补这些函数,这也就是 “ 配平 ” 的由来。 ### 注意事项