linux平台下C语言调用C库问题
在linux内核设计与实现关于系统调用一节有以下一段话:通常系统调用靠C库支持,如果仅仅写出系统调用,glibc库恐怕并不支持,此时得用linux提供的宏进行系统调用。这...
在linux内核设计与实现关于系统调用一节有以下一段话:
通常系统调用靠C库支持,如果仅仅写出系统调用,glibc库恐怕并不支持,此时得用linux提供的宏进行系统调用。这里我有个疑问,平时在linux下编程时用的read,write函数时C库里的还是linux直接提供的系统调用?如果是linux直接提供的系统调用,为什么我没有用宏__syscalln()也能直接拿来使用??? 展开
通常系统调用靠C库支持,如果仅仅写出系统调用,glibc库恐怕并不支持,此时得用linux提供的宏进行系统调用。这里我有个疑问,平时在linux下编程时用的read,write函数时C库里的还是linux直接提供的系统调用?如果是linux直接提供的系统调用,为什么我没有用宏__syscalln()也能直接拿来使用??? 展开
展开全部
read,write不是glibc库,但属于POSIX标准,他们也不是系统调用,他们都调用内核中的系统调用。
另外__syscalln()最新的linux内核好像已经废弃他了,因为有问题记忆也太麻烦。
另外建议你,不要看这部书。看unix环境高级编程。
另外__syscalln()最新的linux内核好像已经废弃他了,因为有问题记忆也太麻烦。
另外建议你,不要看这部书。看unix环境高级编程。
追问
那你的意思是说read,write既不属于C库,也不是系统调用,那它们属于什么或者是哪个库提供的???
追答
平常我们说的c标准库是指ISO C
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c语言里面你不包含头文件直接调用函数也是可以的,只是会报warning而已
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询