glibc的头文件 linux_Glibc、系统调用和C库函数

本文介绍了glibc在Linux系统中的作用,glibc作为标准C库,提供系统调用和C库函数。文章讨论了系统调用与库函数的区别,指出库函数如printf可能是系统调用的封装,并通过举例说明了系统调用如何作为用户空间与内核空间交互的桥梁。同时,文章提到了系统命令如何使用C库函数,如ls、cd等。
摘要由CSDN通过智能技术生成

一、概述

之所以要写这个,是因为发现了一个很有趣的问题:我在SecureCRT开了两个终端登陆系统,一个是串口,一个是telnet,

无论我在哪个终端调用printk,信息都会被打印在串口终端,巴特无论在哪个终端调用printf信息都会被打印在这个终端

上(类似的还有echo命令,但没去研究这个命令的源码),为什么会产生这种现象,printf最后调用了什么。

首先要引入glibc的概念

二、glibc

2.1 什么是glibc?

glibc是GNU发布的libc库,是标准C的gnu实现,基于GPL的。glibc库提供了系统调用和标准C函数库,所有动态连接的

程序都要用到它。说白了就是它提供了linux用户编程所用到的所有库函数(自己定义的除外)。但它并不直接实现系统调用,而是把标准C库和系统调用全部封装成API提供给用户,比如用户调用read

函数的时候,会直接调用glibc的read函数(API),这个read函数里会封装一个同名的read系统调用。

它linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc,linux下的gcc默认使用glibc。

在linux下面可以通过“rpm -q glibc”查看有没有安装glibc以及版本号

2.2 glibc的内容

分享函数库群:

这是 glibc 的主体,分布 /lib 与 /usr/lib 中,包括 libc 标准 C 函数库、libm 数学函数库、libcrypt 加密与编码

函数库、libdb 资料库函数库、libpthread 行程多执行绪函数库、libns

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值