Linux内核源码与C标准库的关系总结

本文解析了C语言与C标准库的关系,并介绍了Linux内核如何独立于C标准库实现其功能。此外还探讨了POSIX标准对于系统编程的重要性。

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

       Linux是由C语言编写的,它有自己的头文件和内核函数来实现内核的功能。内核的编写并不依赖于C标准库。这一点我之前是有所混乱的,后来想通了。而且C标准库里面的一些函数是封装了Linux的系统调用的。所以不可能依赖C标准库。而所谓的POSIX标准,是规定操作系统要提供哪些接口,但没有规定具体的实现。POSIX标准包含了C标准规定的头文件和另外一些提供系统服务的头文件。通过POSIX接口,我们可以进行系统编程。

转载于:https://www.cnblogs.com/weili-wu/p/4147088.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值