gpt4 book ai didi

c - 为什么 gid_t 不在我的 sys/types 头文件中?

转载 作者:行者123 更新时间:2023-11-30 16:27:43 26 4
gpt4 key购买 nike

我正在尝试在 Windows 10 中使用 Dev C++ 用 C 语言运行此程序:

#include <stdio.h>
#include <sys/types.h>

int main()
{
printf("gid_t: %zu\n", sizeof(gid_t));
}

此错误显示:[错误]“gid_t”未在此范围内声明。

我检查了 gid_t 应该在 sys/types.h 文件中,但是当我打开该文件时它不在那里。我怎样才能做到这一点?

最佳答案

您使用Windows,但是:

#include <sys/types.h>

这是行不通的,因为该 header 是 UNIX(而不是 Windows)的一部分。

gid_t 不是标准 C 的一部分。因此,它只能在特定于平台的实现中找到(即这种情况下的 UNIX)。

<小时/>

一个丑陋的解决方法是自己输入定义,如下所示:

typedef int gid_t;

除非您确实知道自己在做什么,并且 gid_t 在您的具体情况下可能是不同的类型。

关于c - 为什么 gid_t 不在我的 sys/types 头文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52648755/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com