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这个目录到底在哪,请高人指点…… 展开
 我来答
百度网友d1b0be4
2018-03-07 · TA获得超过252个赞
知道小有建树答主
回答量:109
采纳率:93%
帮助的人:22.2万
展开全部

对于使用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

望采纳。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
睿尔科技嵌入式
2013-09-09 · TA获得超过127个赞
知道答主
回答量:67
采纳率:0%
帮助的人:52.8万
展开全部
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

你查看一下有不有这个目录。

更多技术文章可以关注我的微博,名字:成都睿尔科技 。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fox000002
2018-03-06 · TA获得超过3824个赞
知道大有可为答主
回答量:2356
采纳率:97%
帮助的人:1163万
展开全部

默认的 include 搜索路径包括多个系统中的路径,并不是只有 /usr/include。

可以通过命令查看都包含了哪些路径

`gcc -print-prog-name=cc1plus` -v

查看gcc/g++默认include路径

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
复仇骷颅Ce
2019-04-04
知道答主
回答量:15
采纳率:50%
帮助的人:5.3万
展开全部
在 /usr/include/x86_64-linux-gnu/sys 文件下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
强子哈哈哈哈
2013-09-14
知道答主
回答量:20
采纳率:0%
帮助的人:9.3万
展开全部
这个和环境变量有关,也许你的某个环境变量指向别的路径,在那个路径上有这个文件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式