c语言的库函数是谁编写的?

2020-06-15 科技 128阅读
计算机语言和计算机操作系统是两个层面上的东西。
C(包括C++)是贝尔实验室开发的,其所属公司AT&T公司早已倒闭,所以已经是没有爹娘的孩子,根本没有什么标准化组织。现在主要的两个C语言标准:C89和C99都是各个厂商实现各自的C,经过市场竞争以后形成的事实标准,后经ANSI(美国国家标准化委员会)认定所形成的美国标准,继而又被ISO组织采纳为事实标准。
有标准以后各个厂商按照标准修改自己的产品,有的还提供各种选项供用户选择使用何种标准(如VC++工程属性里的各种设置),以实现“源程序级兼容”。
C中各种函数,如printf函数,涉及到操作系统界面,在不同平台上的实现肯定是不一样的。stdio.h,conio.h在硬盘上都有确实的文件的,可以打开看看函数的定义,都是一些#define之类的。具体实现功能的东西在.obj,.lib这些文件里面,有部分是用汇编写的,全部都是没有源代码的。 但是其他的通用函数可能是一样的,比如C++STL,都是HP和SGI的标准版。
linux开源,开得是linux的源,当然不包括库函数。
操作系统的API,全称application programming interface,即"应用程序接口",是操作系统提供的功能,操作系统将硬件裸机包装成虚拟机,提供多种接口供用户调用。Linux、Windows的API是基于C、C++的,DOS的API是基于汇编语言的。
既然C是接近硬件的语言,只要不违反操作系统的安全性、稳定性等限制,大可以跳开API直接操作硬件。这样无异于自己编写操作系统,所以C语言如果真的有楼主所述“只用这些函数就能解决问题”这一天,那么那个时候的C语言就已经发展成为操作系统了。
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com