
但是这个并不局限也是可控的,如果我们进行开发过程中, 就会在内核的库函数文件目录:
例如在:/XXX/XXX/linux-X.X/include
所以根据不同的情况,头文件存放的目录也是不同的,具体需要可以根据locate和grep命令进行查询。
首先,命令应该是好和其他两个区分开来的了,因为命令都是可以直接敲在shell上面回车执行的,而系统调用和库函数都不行;其次,Linux系统调用和C库函数都是函数的形式,即都是“func(args)”的形式,但系统调用是
由系统内核对外提供的服务接口;C库函数和你自己写的普通的函数没有本质的区别,只是在C标准库中而已,Linux上面glibc就是C函数库。从表面上看两者不太好区分,不过,你可以从它们需要包含的头文件来区分,C库函数像printf在
中,std就是标准(standard)的缩写形式,因此在
中的函数,基本都是C库函数;像
ssize_t
read(int
fd,
void
*buf,
size_t
count)这样很多的系统调用是包含在
中的,unistd意思是UNIX
Standard,从这个意义就可以区分了。
希望对你有所帮助,如还有问题,可随时联系我:-)
要学会用man,特别是man 2(系统调用)和man 3(C函数库),比如:
man sqrt
会显示需要引用的头文件,编译时需要的动态链接库
如果重复,则需要指定手册章节,比如
man write 显示的是write程序帮助,如果想看系统调用,则要输入man 2 wirte
另外,/lib64:/lib:/usr/lib64:/usr/lib这些是系统缺省的,不用指定
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)