日期:2014-05-16  浏览次数:20548 次

linux平台下C语言调用C库问题
在linux内核设计与实现关于系统调用一节有以下一段话:


通常系统调用靠C库支持,如果仅仅写出系统调用,glibc库恐怕并不支持,此时得用linux提供的宏进行系统调用。这里我有个疑问,平时在linux下编程时用的read,write函数时C库里的还是linux直接提供的系统调用?如果是linux直接提供的系统调用,为什么我没有用宏__syscalln()也能直接拿来使用???
Linux C Linux?Kernel 编程

------解决方案--------------------
引用:
Quote: 引用:

平时在linux下编程时用的read,write函数时C库里的还是linux直接提供的系统调用?
这个当然是glibc库里的;

既然read,write函数是C库里的,是不是可以理解为C库里的read,write等不带缓冲的库函数的实现为:1.通过0x80实现软中断2.传递系统调用号。????


Linux下的系统调用都是软中断实现的,没有第二条路。