首先 C 是一门语言,包含了一些规定的语法和结构,但并没有包含到我们平常所用的函数,如 printf() 和 scanf(),这些只是由 C 标准库所提供的。之所以存在 C 标准库,是因为这些已经编好的函数是我们平常编程经常用到的,这可以方便我们的工作。当然,你也可以自己编写方便编程、属于自己的 C 库。C 标准仅仅是规定了接口,也就是仅规定了函数原型,或者说头文件,而具体的实现各有不同。glibc 库是其中一种对 C 标准的实现,由 GNU 完成,GNU C LIBRARY。我们平常写 C 程序时,为了可以用到一些规定好的函数,会在前面包含头文件,相当于函数原型声明。通过 gcc 对程序编译,然后链接 C 库,链接相当于将函数的具体实现连起来,最后形成二进制文件。

Linux 是由 C 语言编写的,它由自己的头文件和内核函数来实现内核的功能。内核的编写并不依赖于 C 标准库。

而且 C 标准库里面的一些函数是封装了 Linux 的系统调用的。

所谓的 POSIX 标准,是规定操作系统要提供哪些接口,但没有规定具体的实现。POSIX 标准包含了 C 标准规定的头文件和另外一些提供系统服务的头文件。通过 POSIX 接口,我们可以进行系统编程。

C语言、C标准库、glibc、Linux内核 之间的关系相关推荐

  1. 【Linux 内核】进程管理 ( 进程特殊形式 | 内核线程 | 用户线程 | C 标准库与 Linux 内核中进程相关概念 | Linux 查看进程命令及输出字段解析 )

    文章目录 一.进程特殊形式 ( 内核线程 | 用户线程 ) 二.C 标准库与 Linux 内核中进程相关概念 三.Linux 查看进程命令及输出字段解析 一.进程特殊形式 ( 内核线程 | 用户线程 ...

  2. linux 发行版本和 及其与linux内核之间的关系

    1. Red Hat Linux是全世界应用最广泛的Linux,,它分为两个系列, 一个是Red Hat 公司提供收费技术支持和更新的Red Hat Enterprise Linux系列:一个是社区开 ...

  3. log包在Golang语言的标准库中是怎么使用的?

    Golang 语言的标准库中提供了一个简单的 log 日志包,它不仅提供了很多函数,还定义了一个包含很多方法的类型 Logger.但是它也有缺点,比如不支持区分日志级别,不支持日志文件切割等. 01. ...

  4. 【Go语言实战】13. Go语言context标准库(下)

    13. Go语言context标准库(下) 1. API函数 2. 辅助函数 3. context的用法 4. 使用context传递数据真的那么好吗? 参考资料 接着上一届,我们继续学习Go语言的C ...

  5. 常见15个C语言的标准库

    C语言的标准库包括15个部分,每一个部分都有一个头描述.标准头主要由函数原型.类型定义以及宏定义组成.如果使用了标准库中的函数,就要将相应的标准头使用#include包含进来. 标准头名 功能 描述 ...

  6. Android版本与Linux内核版本的关系

    Android版本与Linux内核版本的关系 一.Android版本与Linux内核的关系 英文名 中文名 Android版本 Linux内核版本 No 无 1.1 Cupcake 纸杯蛋糕 1.5 ...

  7. 内存(Display)、显示器(Monitor)和计算机(Computer)均属于一种产品(Product),其中计算机需要显示器和内存。请用Python语言简要实现这些类及它们之间的关系。

    内存(Display).显示器(Monitor)和计算机(Computer)均属于一种产品(Product),其中计算机需要显示器和内存.请用Python语言简要实现这些类及它们之间的关系. clas ...

  8. 常见浏览器与浏览器内核之间的关系

    背景: 原有项目确定为vue.js+chrome的企业应用管理软件,到客户现场实施时,发现硬件设备均为WinXp系统. 经了解得知,谷歌已经停止对WinXp的支持,同时,vue对IE,SE6版本支持性 ...

  9. 【C语言】标准库(头文件、静态库、动态库),windows与Linux平台下的常用C语言标准库

    一.Introduction 1.1 C语言标准库 1.2 历代C语言标准 1.3 主流C语言编译器 二.C语言标准库 2.1 常用标准头文件 2.2 常用标准静态库 三.windows平台 四.Li ...

最新文章

  1. MySQL:数据库优化,看这篇就够了
  2. 基于linux的驱动设计,《基于LINUX的虚拟驱动设计》-毕业论文.doc
  3. 装管家婆系统要开启那些服务器,管家婆服务器维护注意的一些事项?
  4. Linux IO复用区别与epoll详解
  5. [html] websocket和http有什么区别?
  6. 【mac】Mac 安装Brew命令
  7. 在Blazor中构建数据库应用程序——第1部分——项目结构和框架
  8. 参考文献的序号怎么对齐_学术论文发表写作格式、具体要求和参考文献的要求模板...
  9. php 二位数组排序
  10. SQL 查询所有表名、字段名、类型、长度、存储过程、视图
  11. lr压测mysql数据库_jmeter压测mysql数据库
  12. Python实战教程 | 轻松批量识别数百个快递单号
  13. myelicpes2019初次使用设置_实况足球2019球员数据编辑器怎么使用
  14. 几个连接虚拟机和云服务器的软件
  15. 基于百度飞桨的单/多镜头行人追踪(非官方Baseline)
  16. 如何搭建EOS主网节点?
  17. Windows 剪切板的应用——复制浏览器or本地目录图片
  18. uni-app--》如何制作一个APP并使用?
  19. 杰克.韦尔奇的《赢》读后节选
  20. 魔法宝石(类似dp 杭电排位赛-2)

热门文章

  1. SAP 银企直联 批量获取银行账户数据
  2. 给WordPress添加SSL认证(HTTPS)
  3. 正好配资简述大票震荡小票稳
  4. 你见过这样的爹娘和老婆吗(看的我都哭了)
  5. Xcode 13.3 cycle in dependencies between targets
  6. 里程碑 - 上海美国领事馆面签实录
  7. 失业两个月,35岁之后测试工程师拿什么养家?
  8. Stitch Fix的创新和突破——用数据的心智经营公司
  9. 内存分配---FF、BF、WF三种算法
  10. 推荐一款使用.NET+MSSQL的CRM 客户管理系统源码