Linux与C的关系总结
首先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接口,我们可以进行系统编程。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。