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

[复制链接]
查看11 | 回复3 | 2016-1-15 11:45:07 | 显示全部楼层 |阅读模式
不同的编译器厂家编写各自不同的库函数?
比如一个printf函数,microsoft自己编一个,borland公司自己再编一个?
linux是开放源码,但是这个c库函数的源码和linux没有关系吧?linux只是开放操作系统的源码?
3楼已经说的很精彩了:但是有一点,似乎有点问题,能否进一步解释:
你说
Windows的API是基于C、C++的?
但是我觉得C的库函数是基于windows api的,我觉得应该是windows api是最底层,往上
来一点就到了C库函数,所以程序员能调用C库函数就调用C库函数,不行的话,再往下去找windowsAPI
究竟是谁基于谁呢?

回复

使用道具 举报

千问 | 2016-1-15 11:45:07 | 显示全部楼层
计算机语言和计算机操作系统是两个层面上的东西。 C(包括C++)是贝尔实验室开发的,其所属公司AT&T公司早已倒闭,所以已经是没有爹娘的孩子,根本没有什么标准化组织。现在主要的两个C语言标准:C89和C99都是各个厂商实现各自的C,经过市场竞争以后形成的事实标准,后经ANSI(美国国家标准化委员会)认定所形成的美国标准,继而又被ISO组织采纳为事实标准。 有标准以后各个厂商按照标准修改自己的产品,有的还提供各种选项供用户选择使用何种标准(如VC++工程属性里的各种设置),以实现“源程序级兼容”。 C中各种函数,如printf函数,涉及到操作系统界面,在不同平台上的实现肯定是不一样的。stdio.h,conio.h在硬盘上都有确实...
回复

使用道具 举报

千问 | 2016-1-15 11:45:07 | 显示全部楼层
C标准是由标准c委员会维护的。 它规定这个函数参数个数,类型,返回值及函数功能,实现方法应该没强制要求。 比如MS和borland如果不把printf实现方法开源,其他编译器厂商也只好自己写咯。我觉得C库是DOS下沿用至今的产物,在win32下还是需要win api的。不然你什么都做不了。api和c库都是用户接口,都是方便你编程的。现在是c/...
回复

使用道具 举报

千问 | 2016-1-15 11:45:07 | 显示全部楼层
基本是这样,你也可以编一个函数放到库中。当然,标准的库函数像printf()都是一样的。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行