Unix系统函数和C语言标准函数库有重叠的部分吗?

NJPaul 2012-08-24 09:40:37
最近在阅读《Unix环境高级编程》这本书,里面介绍了很多Unix的系统函数。
但是我发现有些函数就是以前学习C语言时所谓的库函数,于是我产生了一点疑惑。

我在想是不是当初C语言出现的时候,并没有这些库函数。
而Unix实现过程中编写的一些系统函数最终被拿来完善了C语言的标准库?

PS:LZ是个菜鸟,虽然工作4年了,但是以前一直做的是JAVA Web开发和Ruby脚本开发。
对于C语言和Unix只是在学校的时候学了点皮毛,请本版的高手不要见怪。

PPS:类似这样的问题发在本版,地方没错吧^_^
...全文
124 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
NJPaul 2012-08-27
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
C最早是UNIX的上出现的,随着C语言移植到别的系统上,这些库也被移植过去了,后来就有了C库的标准化,根据规定,别的平台上的C语言实现就有了这样的接口。
[/Quote]

嗯,这样我就能理解了,TKS。
不过这个问题我有点太过纠结了,其实库属于谁有什么关系呢,
反正编写C程序总要在某个平台下的,那么库自然就已经存在了。
yong_f 2012-08-24
  • 打赏
  • 举报
回复
这个问题是C语言和库的问题,C语言只是一种计算编程语言,只有编写、编译标准,没有库。编译器在编译你写的程序时把你程序编译成目标文件,连接器把你的目标文件和库给你连接成一个可执行文件。

Unix实现过程中编写的一些系统函数最终被拿来完善了C语言的标准库?
这个并为并不是来完善C语言的标准库,只是给UNIX编程人员接口,C语言可以编写windows程序和单片机程序,这下面还能用你所说的标准库吗 ??????????????
帅得不敢出门 2012-08-24
  • 打赏
  • 举报
回复
因为这些是最常用的接口。
NJPaul 2012-08-24
  • 打赏
  • 举报
回复
@zmlovelx
嗯,是的。

可是为什么这本书里面将他们作为Unix的系统函数介绍呢。
是不是有什么历史原因?
帅得不敢出门 2012-08-24
  • 打赏
  • 举报
回复
就是c库函数
glibc
辰岡墨竹 2012-08-24
  • 打赏
  • 举报
回复
这是因为有POSIX之类的C语言库规范。
C最早是UNIX的上出现的,随着C语言移植到别的系统上,这些库也被移植过去了,后来就有了C库的标准化,根据规定,别的平台上的C语言实现就有了这样的接口。
NJPaul 2012-08-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

Unix实现过程中编写的一些系统函数最终被拿来完善了C语言的标准库?
这个并为并不是来完善C语言的标准库,只是给UNIX编程人员接口,
[/Quote]

嗯,你说的很有道理。编程语言最基本的只要有语法就可以了,
按照基本的语法,程序员可以自己去实现所谓的库。

但是比如说printf这个函数,unix下可用,windows下也可用,我想单片机
程序也应该可以用,这样也不可以说它是C语言的标准库函数吗?

2,161

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 UNIX文化
社区管理员
  • UNIX文化社区
  • 文天大人
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧