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

unistd.h 和 fcntl.h到底什么联系与区别?
都说:
fcntl.h定义了很多宏和open,fcntl函数原型
unistd.h定义了更多的函数原型

那意思是说read write等这些函数是定义在unistd中?
为何我文件中不引入unistd  只引入fcntl 仍然可以用read write等函数
求指教。谢谢


------解决方案--------------------
头文件只是函数声明,在哪个头文件中声明中都可以,具体的函数定义在源文件中
如果将要调用的函数直接声明在你的源文件中,你可以两个头文件都不包
------解决方案--------------------
因为fcntl中引入了unistd
------解决方案--------------------
根据manpage引入头文件,不要假设fctnl.h包含了unistd.h
------解决方案--------------------
因为fcntl中引入了unistd ,说的对