当前位置:   article > 正文

【ARM 嵌入式 编译系列 3.2 -- glibc 学习】_arm glibc

arm glibc


请阅读【ARM GCC 编译专栏导读】


上篇文章:ARM 嵌入式 编译系列 3.1 – GCC attribute((used)) 使用
下篇文章:ARM 嵌入式 编译系列 3.3 – gcc 动态库与静态库的链接方法介绍

1.1 GNU GLIBC 介绍

GLIBC,全名GNU C库,是GNU项目发布的一套C语言库。它定义了系统调用和基本运行时的C语言ABI(应用程序二进制接口),包括开放文件、分配内存、启动进程等函数。

glibc是Linux和许多其他操作系统的标准C库,它提供了许多重要的接口,如 POSIX 和 Single UNIX Specification等。并且它还实现了ISO C11、POSIX.1-2008和一些其他标准的许多可选扩展。

ISO C11是C语言的一个标准版本,它定义了语言的语法和语义,以及标准库的接口。这个标准只涉及到语言级别的特性,不涉及操作系统级别的特性

glibc除了包含常见的C库函数如printf、malloc 等之外,还包括一些Unix系统服务的封装,如线程、网络编程、进程管理、文件操作、动态链接等。

glibc是开源的,并且在GNU通用公共许可证(GPL)下发布。它是大部分Linux发行版的核心组件,也是GNU操作系统的一个重要部分。

1.1.1 GLIBC 与 POSIX

POSIX(Portable Operating System Interface)是一套定义了操作系统应该提供哪些接口给上层软件的标准,目的是尽可能地实现操作系统之间的兼容性。POSIX标准定义了一组系统调用、库函数和命令行工具,它包括了文件操作、进程管理、信号处理、线程、同步等许多方面。POSIX标准并没有指定任何特定的编程语言,但它的接口主要以C语言的形式给出,因此,POSIX和C语言有很紧密的联系。

glibc(GNU C Library)是一个实现了C标准库和POSIX标准的库。由于POSIX标准是操作系统接口的标准,因此,glibc中实现的许多函数其实就是对内核系统调用的封装。同时,glibc还提供了许多额外的特性和扩展,以支持更多的应用场景。

总的来说,glibc是POSIX标准在GNU/Linux系统中的一个主要实现,通过使用glibc,程序员可以编写出符合POSIX标准、具有良好移植性的程序。

GLIBC 官网(但是下载慢)
http://ftp.gnu.org/gnu/glibc/

(清华大学开源软件镜像站) 下载快
https://ftpmirror.gnu.org/libc/

1.1.2 GLIBC 常见接口

glibc 提供了许多常用的 C库函数,以下是其中的一些例子:

  • stdio.h:包含了基本的输入/输出函数,如printf、scanf、fopen、fclose等。
  • stdlib.h:包含了一些常用的通用功能,如malloc、free、exit、system等。
  • string.h:包含了字符串操作函数,如strcpy、strcmp、strcat、strlen等。
  • math.h:包含了数学函数,如pow、sqrt、sin、cos等。
  • time.h:包含了时间和日期函数,如time、clock、
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/160646
推荐阅读
相关标签
  

闽ICP备14008679号