linux中的C编程问题<sys/types.h>
我知道当编写C程序时,#include<sys/types.h>表示在gcc标准路径中的sys目录下查找types.h头文件,但是我的/usr/include/中并没有s...
我知道当编写C程序时,#include<sys/types.h>表示在gcc标准路径中的sys目录下查找types.h头文件,但是我的/usr/include/中并没有sys目录,不过里面有一个/linux目录,并且该目录下有types.h这个头文件,但是这个头文件打开后却并没有对pid_t uid_t gid_t 等变量的定义,这是怎么回事,我想知道sys这个目录到底在哪,请高人指点……
展开
6个回答
展开全部
对于使用gcc编译时,头文件的搜索路径可以使用
echo | gcc -E -v -
查看,在结果中有这样一部份:
#include "..." search starts here:
#include <...> search starts here:
/usr/lib/gcc/x86_64-linux-gnu/5/include
/usr/local/include
/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed
/usr/include/x86_64-linux-gnu
/usr/include
也就是说,如果没有指定路径的话,默认搜索范围就是这些路径,并且由命名可以知道
/usr/lib/gcc/x86_64-linux-gnu/5/include
/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed
/usr/include/x86_64-linux-gnu
都不是标准C中的,而是GNU-LINUX的,因此,题主所说的
#include<types.h> //包含的是标准C的types.h位于/usr/include/
#include<sys/types.h>//包含的是GNU-LINUX C头文件,位于/usr/include/x86_64-linux-gnu/sys
望采纳。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ubuntu:~/reer_temp$ ls /usr/include/sys/types.h -l
-rw-r--r-- 1 root root 6838 2011-04-11 04:07 /usr/include/sys/types.h
你查看一下有不有这个目录。
更多技术文章可以关注我的微博,名字:成都睿尔科技 。
-rw-r--r-- 1 root root 6838 2011-04-11 04:07 /usr/include/sys/types.h
你查看一下有不有这个目录。
更多技术文章可以关注我的微博,名字:成都睿尔科技 。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
默认的 include 搜索路径包括多个系统中的路径,并不是只有 /usr/include。
可以通过命令查看都包含了哪些路径
`gcc -print-prog-name=cc1plus` -v
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在 /usr/include/x86_64-linux-gnu/sys 文件下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个和环境变量有关,也许你的某个环境变量指向别的路径,在那个路径上有这个文件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询